<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<style>body{background-color:white;}</style>
<script>(function() {
  // If window.HTMLWidgets is already defined, then use it; otherwise create a
  // new object. This allows preceding code to set options that affect the
  // initialization process (though none currently exist).
  window.HTMLWidgets = window.HTMLWidgets || {};

  // See if we're running in a viewer pane. If not, we're in a web browser.
  var viewerMode = window.HTMLWidgets.viewerMode =
      /\bviewer_pane=1\b/.test(window.location);

  // See if we're running in Shiny mode. If not, it's a static document.
  // Note that static widgets can appear in both Shiny and static modes, but
  // obviously, Shiny widgets can only appear in Shiny apps/documents.
  var shinyMode = window.HTMLWidgets.shinyMode =
      typeof(window.Shiny) !== "undefined" && !!window.Shiny.outputBindings;

  // We can't count on jQuery being available, so we implement our own
  // version if necessary.
  function querySelectorAll(scope, selector) {
    if (typeof(jQuery) !== "undefined" && scope instanceof jQuery) {
      return scope.find(selector);
    }
    if (scope.querySelectorAll) {
      return scope.querySelectorAll(selector);
    }
  }

  function asArray(value) {
    if (value === null)
      return [];
    if ($.isArray(value))
      return value;
    return [value];
  }

  // Implement jQuery's extend
  function extend(target /*, ... */) {
    if (arguments.length == 1) {
      return target;
    }
    for (var i = 1; i < arguments.length; i++) {
      var source = arguments[i];
      for (var prop in source) {
        if (source.hasOwnProperty(prop)) {
          target[prop] = source[prop];
        }
      }
    }
    return target;
  }

  // IE8 doesn't support Array.forEach.
  function forEach(values, callback, thisArg) {
    if (values.forEach) {
      values.forEach(callback, thisArg);
    } else {
      for (var i = 0; i < values.length; i++) {
        callback.call(thisArg, values[i], i, values);
      }
    }
  }

  // Replaces the specified method with the return value of funcSource.
  //
  // Note that funcSource should not BE the new method, it should be a function
  // that RETURNS the new method. funcSource receives a single argument that is
  // the overridden method, it can be called from the new method. The overridden
  // method can be called like a regular function, it has the target permanently
  // bound to it so "this" will work correctly.
  function overrideMethod(target, methodName, funcSource) {
    var superFunc = target[methodName] || function() {};
    var superFuncBound = function() {
      return superFunc.apply(target, arguments);
    };
    target[methodName] = funcSource(superFuncBound);
  }

  // Add a method to delegator that, when invoked, calls
  // delegatee.methodName. If there is no such method on
  // the delegatee, but there was one on delegator before
  // delegateMethod was called, then the original version
  // is invoked instead.
  // For example:
  //
  // var a = {
  //   method1: function() { console.log('a1'); }
  //   method2: function() { console.log('a2'); }
  // };
  // var b = {
  //   method1: function() { console.log('b1'); }
  // };
  // delegateMethod(a, b, "method1");
  // delegateMethod(a, b, "method2");
  // a.method1();
  // a.method2();
  //
  // The output would be "b1", "a2".
  function delegateMethod(delegator, delegatee, methodName) {
    var inherited = delegator[methodName];
    delegator[methodName] = function() {
      var target = delegatee;
      var method = delegatee[methodName];

      // The method doesn't exist on the delegatee. Instead,
      // call the method on the delegator, if it exists.
      if (!method) {
        target = delegator;
        method = inherited;
      }

      if (method) {
        return method.apply(target, arguments);
      }
    };
  }

  // Implement a vague facsimilie of jQuery's data method
  function elementData(el, name, value) {
    if (arguments.length == 2) {
      return el["htmlwidget_data_" + name];
    } else if (arguments.length == 3) {
      el["htmlwidget_data_" + name] = value;
      return el;
    } else {
      throw new Error("Wrong number of arguments for elementData: " +
        arguments.length);
    }
  }

  // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex
  function escapeRegExp(str) {
    return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
  }

  function hasClass(el, className) {
    var re = new RegExp("\\b" + escapeRegExp(className) + "\\b");
    return re.test(el.className);
  }

  // elements - array (or array-like object) of HTML elements
  // className - class name to test for
  // include - if true, only return elements with given className;
  //   if false, only return elements *without* given className
  function filterByClass(elements, className, include) {
    var results = [];
    for (var i = 0; i < elements.length; i++) {
      if (hasClass(elements[i], className) == include)
        results.push(elements[i]);
    }
    return results;
  }

  function on(obj, eventName, func) {
    if (obj.addEventListener) {
      obj.addEventListener(eventName, func, false);
    } else if (obj.attachEvent) {
      obj.attachEvent(eventName, func);
    }
  }

  function off(obj, eventName, func) {
    if (obj.removeEventListener)
      obj.removeEventListener(eventName, func, false);
    else if (obj.detachEvent) {
      obj.detachEvent(eventName, func);
    }
  }

  // Translate array of values to top/right/bottom/left, as usual with
  // the "padding" CSS property
  // https://developer.mozilla.org/en-US/docs/Web/CSS/padding
  function unpackPadding(value) {
    if (typeof(value) === "number")
      value = [value];
    if (value.length === 1) {
      return {top: value[0], right: value[0], bottom: value[0], left: value[0]};
    }
    if (value.length === 2) {
      return {top: value[0], right: value[1], bottom: value[0], left: value[1]};
    }
    if (value.length === 3) {
      return {top: value[0], right: value[1], bottom: value[2], left: value[1]};
    }
    if (value.length === 4) {
      return {top: value[0], right: value[1], bottom: value[2], left: value[3]};
    }
  }

  // Convert an unpacked padding object to a CSS value
  function paddingToCss(paddingObj) {
    return paddingObj.top + "px " + paddingObj.right + "px " + paddingObj.bottom + "px " + paddingObj.left + "px";
  }

  // Makes a number suitable for CSS
  function px(x) {
    if (typeof(x) === "number")
      return x + "px";
    else
      return x;
  }

  // Retrieves runtime widget sizing information for an element.
  // The return value is either null, or an object with fill, padding,
  // defaultWidth, defaultHeight fields.
  function sizingPolicy(el) {
    var sizingEl = document.querySelector("script[data-for='" + el.id + "'][type='application/htmlwidget-sizing']");
    if (!sizingEl)
      return null;
    var sp = JSON.parse(sizingEl.textContent || sizingEl.text || "{}");
    if (viewerMode) {
      return sp.viewer;
    } else {
      return sp.browser;
    }
  }

  // @param tasks Array of strings (or falsy value, in which case no-op).
  //   Each element must be a valid JavaScript expression that yields a
  //   function. Or, can be an array of objects with "code" and "data"
  //   properties; in this case, the "code" property should be a string
  //   of JS that's an expr that yields a function, and "data" should be
  //   an object that will be added as an additional argument when that
  //   function is called.
  // @param target The object that will be "this" for each function
  //   execution.
  // @param args Array of arguments to be passed to the functions. (The
  //   same arguments will be passed to all functions.)
  function evalAndRun(tasks, target, args) {
    if (tasks) {
      forEach(tasks, function(task) {
        var theseArgs = args;
        if (typeof(task) === "object") {
          theseArgs = theseArgs.concat([task.data]);
          task = task.code;
        }
        var taskFunc = tryEval(task);
        if (typeof(taskFunc) !== "function") {
          throw new Error("Task must be a function! Source:\n" + task);
        }
        taskFunc.apply(target, theseArgs);
      });
    }
  }

  // Attempt eval() both with and without enclosing in parentheses.
  // Note that enclosing coerces a function declaration into
  // an expression that eval() can parse
  // (otherwise, a SyntaxError is thrown)
  function tryEval(code) {
    var result = null;
    try {
      result = eval("(" + code + ")");
    } catch(error) {
      if (!(error instanceof SyntaxError)) {
        throw error;
      }
      try {
        result = eval(code);
      } catch(e) {
        if (e instanceof SyntaxError) {
          throw error;
        } else {
          throw e;
        }
      }
    }
    return result;
  }

  function initSizing(el) {
    var sizing = sizingPolicy(el);
    if (!sizing)
      return;

    var cel = document.getElementById("htmlwidget_container");
    if (!cel)
      return;

    if (typeof(sizing.padding) !== "undefined") {
      document.body.style.margin = "0";
      document.body.style.padding = paddingToCss(unpackPadding(sizing.padding));
    }

    if (sizing.fill) {
      document.body.style.overflow = "hidden";
      document.body.style.width = "100%";
      document.body.style.height = "100%";
      document.documentElement.style.width = "100%";
      document.documentElement.style.height = "100%";
      if (cel) {
        cel.style.position = "absolute";
        var pad = unpackPadding(sizing.padding);
        cel.style.top = pad.top + "px";
        cel.style.right = pad.right + "px";
        cel.style.bottom = pad.bottom + "px";
        cel.style.left = pad.left + "px";
        el.style.width = "100%";
        el.style.height = "100%";
      }

      return {
        getWidth: function() { return cel.offsetWidth; },
        getHeight: function() { return cel.offsetHeight; }
      };

    } else {
      el.style.width = px(sizing.width);
      el.style.height = px(sizing.height);

      return {
        getWidth: function() { return el.offsetWidth; },
        getHeight: function() { return el.offsetHeight; }
      };
    }
  }

  // Default implementations for methods
  var defaults = {
    find: function(scope) {
      return querySelectorAll(scope, "." + this.name);
    },
    renderError: function(el, err) {
      var $el = $(el);

      this.clearError(el);

      // Add all these error classes, as Shiny does
      var errClass = "shiny-output-error";
      if (err.type !== null) {
        // use the classes of the error condition as CSS class names
        errClass = errClass + " " + $.map(asArray(err.type), function(type) {
          return errClass + "-" + type;
        }).join(" ");
      }
      errClass = errClass + " htmlwidgets-error";

      // Is el inline or block? If inline or inline-block, just display:none it
      // and add an inline error.
      var display = $el.css("display");
      $el.data("restore-display-mode", display);

      if (display === "inline" || display === "inline-block") {
        $el.hide();
        if (err.message !== "") {
          var errorSpan = $("<span>").addClass(errClass);
          errorSpan.text(err.message);
          $el.after(errorSpan);
        }
      } else if (display === "block") {
        // If block, add an error just after the el, set visibility:none on the
        // el, and position the error to be on top of the el.
        // Mark it with a unique ID and CSS class so we can remove it later.
        $el.css("visibility", "hidden");
        if (err.message !== "") {
          var errorDiv = $("<div>").addClass(errClass).css("position", "absolute")
            .css("top", el.offsetTop)
            .css("left", el.offsetLeft)
            // setting width can push out the page size, forcing otherwise
            // unnecessary scrollbars to appear and making it impossible for
            // the element to shrink; so use max-width instead
            .css("maxWidth", el.offsetWidth)
            .css("height", el.offsetHeight);
          errorDiv.text(err.message);
          $el.after(errorDiv);

          // Really dumb way to keep the size/position of the error in sync with
          // the parent element as the window is resized or whatever.
          var intId = setInterval(function() {
            if (!errorDiv[0].parentElement) {
              clearInterval(intId);
              return;
            }
            errorDiv
              .css("top", el.offsetTop)
              .css("left", el.offsetLeft)
              .css("maxWidth", el.offsetWidth)
              .css("height", el.offsetHeight);
          }, 500);
        }
      }
    },
    clearError: function(el) {
      var $el = $(el);
      var display = $el.data("restore-display-mode");
      $el.data("restore-display-mode", null);

      if (display === "inline" || display === "inline-block") {
        if (display)
          $el.css("display", display);
        $(el.nextSibling).filter(".htmlwidgets-error").remove();
      } else if (display === "block"){
        $el.css("visibility", "inherit");
        $(el.nextSibling).filter(".htmlwidgets-error").remove();
      }
    },
    sizing: {}
  };

  // Called by widget bindings to register a new type of widget. The definition
  // object can contain the following properties:
  // - name (required) - A string indicating the binding name, which will be
  //   used by default as the CSS classname to look for.
  // - initialize (optional) - A function(el) that will be called once per
  //   widget element; if a value is returned, it will be passed as the third
  //   value to renderValue.
  // - renderValue (required) - A function(el, data, initValue) that will be
  //   called with data. Static contexts will cause this to be called once per
  //   element; Shiny apps will cause this to be called multiple times per
  //   element, as the data changes.
  window.HTMLWidgets.widget = function(definition) {
    if (!definition.name) {
      throw new Error("Widget must have a name");
    }
    if (!definition.type) {
      throw new Error("Widget must have a type");
    }
    // Currently we only support output widgets
    if (definition.type !== "output") {
      throw new Error("Unrecognized widget type '" + definition.type + "'");
    }
    // TODO: Verify that .name is a valid CSS classname

    // Support new-style instance-bound definitions. Old-style class-bound
    // definitions have one widget "object" per widget per type/class of
    // widget; the renderValue and resize methods on such widget objects
    // take el and instance arguments, because the widget object can't
    // store them. New-style instance-bound definitions have one widget
    // object per widget instance; the definition that's passed in doesn't
    // provide renderValue or resize methods at all, just the single method
    //   factory(el, width, height)
    // which returns an object that has renderValue(x) and resize(w, h).
    // This enables a far more natural programming style for the widget
    // author, who can store per-instance state using either OO-style
    // instance fields or functional-style closure variables (I guess this
    // is in contrast to what can only be called C-style pseudo-OO which is
    // what we required before).
    if (definition.factory) {
      definition = createLegacyDefinitionAdapter(definition);
    }

    if (!definition.renderValue) {
      throw new Error("Widget must have a renderValue function");
    }

    // For static rendering (non-Shiny), use a simple widget registration
    // scheme. We also use this scheme for Shiny apps/documents that also
    // contain static widgets.
    window.HTMLWidgets.widgets = window.HTMLWidgets.widgets || [];
    // Merge defaults into the definition; don't mutate the original definition.
    var staticBinding = extend({}, defaults, definition);
    overrideMethod(staticBinding, "find", function(superfunc) {
      return function(scope) {
        var results = superfunc(scope);
        // Filter out Shiny outputs, we only want the static kind
        return filterByClass(results, "html-widget-output", false);
      };
    });
    window.HTMLWidgets.widgets.push(staticBinding);

    if (shinyMode) {
      // Shiny is running. Register the definition with an output binding.
      // The definition itself will not be the output binding, instead
      // we will make an output binding object that delegates to the
      // definition. This is because we foolishly used the same method
      // name (renderValue) for htmlwidgets definition and Shiny bindings
      // but they actually have quite different semantics (the Shiny
      // bindings receive data that includes lots of metadata that it
      // strips off before calling htmlwidgets renderValue). We can't
      // just ignore the difference because in some widgets it's helpful
      // to call this.renderValue() from inside of resize(), and if
      // we're not delegating, then that call will go to the Shiny
      // version instead of the htmlwidgets version.

      // Merge defaults with definition, without mutating either.
      var bindingDef = extend({}, defaults, definition);

      // This object will be our actual Shiny binding.
      var shinyBinding = new Shiny.OutputBinding();

      // With a few exceptions, we'll want to simply use the bindingDef's
      // version of methods if they are available, otherwise fall back to
      // Shiny's defaults. NOTE: If Shiny's output bindings gain additional
      // methods in the future, and we want them to be overrideable by
      // HTMLWidget binding definitions, then we'll need to add them to this
      // list.
      delegateMethod(shinyBinding, bindingDef, "getId");
      delegateMethod(shinyBinding, bindingDef, "onValueChange");
      delegateMethod(shinyBinding, bindingDef, "onValueError");
      delegateMethod(shinyBinding, bindingDef, "renderError");
      delegateMethod(shinyBinding, bindingDef, "clearError");
      delegateMethod(shinyBinding, bindingDef, "showProgress");

      // The find, renderValue, and resize are handled differently, because we
      // want to actually decorate the behavior of the bindingDef methods.

      shinyBinding.find = function(scope) {
        var results = bindingDef.find(scope);

        // Only return elements that are Shiny outputs, not static ones
        var dynamicResults = results.filter(".html-widget-output");

        // It's possible that whatever caused Shiny to think there might be
        // new dynamic outputs, also caused there to be new static outputs.
        // Since there might be lots of different htmlwidgets bindings, we
        // schedule execution for later--no need to staticRender multiple
        // times.
        if (results.length !== dynamicResults.length)
          scheduleStaticRender();

        return dynamicResults;
      };

      // Wrap renderValue to handle initialization, which unfortunately isn't
      // supported natively by Shiny at the time of this writing.

      shinyBinding.renderValue = function(el, data) {
        Shiny.renderDependencies(data.deps);
        // Resolve strings marked as javascript literals to objects
        if (!(data.evals instanceof Array)) data.evals = [data.evals];
        for (var i = 0; data.evals && i < data.evals.length; i++) {
          window.HTMLWidgets.evaluateStringMember(data.x, data.evals[i]);
        }
        if (!bindingDef.renderOnNullValue) {
          if (data.x === null) {
            el.style.visibility = "hidden";
            return;
          } else {
            el.style.visibility = "inherit";
          }
        }
        if (!elementData(el, "initialized")) {
          initSizing(el);

          elementData(el, "initialized", true);
          if (bindingDef.initialize) {
            var result = bindingDef.initialize(el, el.offsetWidth,
              el.offsetHeight);
            elementData(el, "init_result", result);
          }
        }
        bindingDef.renderValue(el, data.x, elementData(el, "init_result"));
        evalAndRun(data.jsHooks.render, elementData(el, "init_result"), [el, data.x]);
      };

      // Only override resize if bindingDef implements it
      if (bindingDef.resize) {
        shinyBinding.resize = function(el, width, height) {
          // Shiny can call resize before initialize/renderValue have been
          // called, which doesn't make sense for widgets.
          if (elementData(el, "initialized")) {
            bindingDef.resize(el, width, height, elementData(el, "init_result"));
          }
        };
      }

      Shiny.outputBindings.register(shinyBinding, bindingDef.name);
    }
  };

  var scheduleStaticRenderTimerId = null;
  function scheduleStaticRender() {
    if (!scheduleStaticRenderTimerId) {
      scheduleStaticRenderTimerId = setTimeout(function() {
        scheduleStaticRenderTimerId = null;
        window.HTMLWidgets.staticRender();
      }, 1);
    }
  }

  // Render static widgets after the document finishes loading
  // Statically render all elements that are of this widget's class
  window.HTMLWidgets.staticRender = function() {
    var bindings = window.HTMLWidgets.widgets || [];
    forEach(bindings, function(binding) {
      var matches = binding.find(document.documentElement);
      forEach(matches, function(el) {
        var sizeObj = initSizing(el, binding);

        if (hasClass(el, "html-widget-static-bound"))
          return;
        el.className = el.className + " html-widget-static-bound";

        var initResult;
        if (binding.initialize) {
          initResult = binding.initialize(el,
            sizeObj ? sizeObj.getWidth() : el.offsetWidth,
            sizeObj ? sizeObj.getHeight() : el.offsetHeight
          );
          elementData(el, "init_result", initResult);
        }

        if (binding.resize) {
          var lastSize = {
            w: sizeObj ? sizeObj.getWidth() : el.offsetWidth,
            h: sizeObj ? sizeObj.getHeight() : el.offsetHeight
          };
          var resizeHandler = function(e) {
            var size = {
              w: sizeObj ? sizeObj.getWidth() : el.offsetWidth,
              h: sizeObj ? sizeObj.getHeight() : el.offsetHeight
            };
            if (size.w === 0 && size.h === 0)
              return;
            if (size.w === lastSize.w && size.h === lastSize.h)
              return;
            lastSize = size;
            binding.resize(el, size.w, size.h, initResult);
          };

          on(window, "resize", resizeHandler);

          // This is needed for cases where we're running in a Shiny
          // app, but the widget itself is not a Shiny output, but
          // rather a simple static widget. One example of this is
          // an rmarkdown document that has runtime:shiny and widget
          // that isn't in a render function. Shiny only knows to
          // call resize handlers for Shiny outputs, not for static
          // widgets, so we do it ourselves.
          if (window.jQuery) {
            window.jQuery(document).on(
              "shown.htmlwidgets shown.bs.tab.htmlwidgets shown.bs.collapse.htmlwidgets",
              resizeHandler
            );
            window.jQuery(document).on(
              "hidden.htmlwidgets hidden.bs.tab.htmlwidgets hidden.bs.collapse.htmlwidgets",
              resizeHandler
            );
          }

          // This is needed for the specific case of ioslides, which
          // flips slides between display:none and display:block.
          // Ideally we would not have to have ioslide-specific code
          // here, but rather have ioslides raise a generic event,
          // but the rmarkdown package just went to CRAN so the
          // window to getting that fixed may be long.
          if (window.addEventListener) {
            // It's OK to limit this to window.addEventListener
            // browsers because ioslides itself only supports
            // such browsers.
            on(document, "slideenter", resizeHandler);
            on(document, "slideleave", resizeHandler);
          }
        }

        var scriptData = document.querySelector("script[data-for='" + el.id + "'][type='application/json']");
        if (scriptData) {
          var data = JSON.parse(scriptData.textContent || scriptData.text);
          // Resolve strings marked as javascript literals to objects
          if (!(data.evals instanceof Array)) data.evals = [data.evals];
          for (var k = 0; data.evals && k < data.evals.length; k++) {
            window.HTMLWidgets.evaluateStringMember(data.x, data.evals[k]);
          }
          binding.renderValue(el, data.x, initResult);
          evalAndRun(data.jsHooks.render, initResult, [el, data.x]);
        }
      });
    });

    invokePostRenderHandlers();
  }


  function has_jQuery3() {
    if (!window.jQuery) {
      return false;
    }
    var $version = window.jQuery.fn.jquery;
    var $major_version = parseInt($version.split(".")[0]);
    return $major_version >= 3;
  }

  /*
  / Shiny 1.4 bumped jQuery from 1.x to 3.x which means jQuery's
  / on-ready handler (i.e., $(fn)) is now asyncronous (i.e., it now
  / really means $(setTimeout(fn)).
  / https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous
  /
  / Since Shiny uses $() to schedule initShiny, shiny>=1.4 calls initShiny
  / one tick later than it did before, which means staticRender() is
  / called renderValue() earlier than (advanced) widget authors might be expecting.
  / https://github.com/rstudio/shiny/issues/2630
  /
  / For a concrete example, leaflet has some methods (e.g., updateBounds)
  / which reference Shiny methods registered in initShiny (e.g., setInputValue).
  / Since leaflet is privy to this life-cycle, it knows to use setTimeout() to
  / delay execution of those methods (until Shiny methods are ready)
  / https://github.com/rstudio/leaflet/blob/18ec981/javascript/src/index.js#L266-L268
  /
  / Ideally widget authors wouldn't need to use this setTimeout() hack that
  / leaflet uses to call Shiny methods on a staticRender(). In the long run,
  / the logic initShiny should be broken up so that method registration happens
  / right away, but binding happens later.
  */
  function maybeStaticRenderLater() {
    if (shinyMode && has_jQuery3()) {
      window.jQuery(window.HTMLWidgets.staticRender);
    } else {
      window.HTMLWidgets.staticRender();
    }
  }

  if (document.addEventListener) {
    document.addEventListener("DOMContentLoaded", function() {
      document.removeEventListener("DOMContentLoaded", arguments.callee, false);
      maybeStaticRenderLater();
    }, false);
  } else if (document.attachEvent) {
    document.attachEvent("onreadystatechange", function() {
      if (document.readyState === "complete") {
        document.detachEvent("onreadystatechange", arguments.callee);
        maybeStaticRenderLater();
      }
    });
  }


  window.HTMLWidgets.getAttachmentUrl = function(depname, key) {
    // If no key, default to the first item
    if (typeof(key) === "undefined")
      key = 1;

    var link = document.getElementById(depname + "-" + key + "-attachment");
    if (!link) {
      throw new Error("Attachment " + depname + "/" + key + " not found in document");
    }
    return link.getAttribute("href");
  };

  window.HTMLWidgets.dataframeToD3 = function(df) {
    var names = [];
    var length;
    for (var name in df) {
        if (df.hasOwnProperty(name))
            names.push(name);
        if (typeof(df[name]) !== "object" || typeof(df[name].length) === "undefined") {
            throw new Error("All fields must be arrays");
        } else if (typeof(length) !== "undefined" && length !== df[name].length) {
            throw new Error("All fields must be arrays of the same length");
        }
        length = df[name].length;
    }
    var results = [];
    var item;
    for (var row = 0; row < length; row++) {
        item = {};
        for (var col = 0; col < names.length; col++) {
            item[names[col]] = df[names[col]][row];
        }
        results.push(item);
    }
    return results;
  };

  window.HTMLWidgets.transposeArray2D = function(array) {
      if (array.length === 0) return array;
      var newArray = array[0].map(function(col, i) {
          return array.map(function(row) {
              return row[i]
          })
      });
      return newArray;
  };
  // Split value at splitChar, but allow splitChar to be escaped
  // using escapeChar. Any other characters escaped by escapeChar
  // will be included as usual (including escapeChar itself).
  function splitWithEscape(value, splitChar, escapeChar) {
    var results = [];
    var escapeMode = false;
    var currentResult = "";
    for (var pos = 0; pos < value.length; pos++) {
      if (!escapeMode) {
        if (value[pos] === splitChar) {
          results.push(currentResult);
          currentResult = "";
        } else if (value[pos] === escapeChar) {
          escapeMode = true;
        } else {
          currentResult += value[pos];
        }
      } else {
        currentResult += value[pos];
        escapeMode = false;
      }
    }
    if (currentResult !== "") {
      results.push(currentResult);
    }
    return results;
  }
  // Function authored by Yihui/JJ Allaire
  window.HTMLWidgets.evaluateStringMember = function(o, member) {
    var parts = splitWithEscape(member, '.', '\\');
    for (var i = 0, l = parts.length; i < l; i++) {
      var part = parts[i];
      // part may be a character or 'numeric' member name
      if (o !== null && typeof o === "object" && part in o) {
        if (i == (l - 1)) { // if we are at the end of the line then evalulate
          if (typeof o[part] === "string")
            o[part] = tryEval(o[part]);
        } else { // otherwise continue to next embedded object
          o = o[part];
        }
      }
    }
  };

  // Retrieve the HTMLWidget instance (i.e. the return value of an
  // HTMLWidget binding's initialize() or factory() function)
  // associated with an element, or null if none.
  window.HTMLWidgets.getInstance = function(el) {
    return elementData(el, "init_result");
  };

  // Finds the first element in the scope that matches the selector,
  // and returns the HTMLWidget instance (i.e. the return value of
  // an HTMLWidget binding's initialize() or factory() function)
  // associated with that element, if any. If no element matches the
  // selector, or the first matching element has no HTMLWidget
  // instance associated with it, then null is returned.
  //
  // The scope argument is optional, and defaults to window.document.
  window.HTMLWidgets.find = function(scope, selector) {
    if (arguments.length == 1) {
      selector = scope;
      scope = document;
    }

    var el = scope.querySelector(selector);
    if (el === null) {
      return null;
    } else {
      return window.HTMLWidgets.getInstance(el);
    }
  };

  // Finds all elements in the scope that match the selector, and
  // returns the HTMLWidget instances (i.e. the return values of
  // an HTMLWidget binding's initialize() or factory() function)
  // associated with the elements, in an array. If elements that
  // match the selector don't have an associated HTMLWidget
  // instance, the returned array will contain nulls.
  //
  // The scope argument is optional, and defaults to window.document.
  window.HTMLWidgets.findAll = function(scope, selector) {
    if (arguments.length == 1) {
      selector = scope;
      scope = document;
    }

    var nodes = scope.querySelectorAll(selector);
    var results = [];
    for (var i = 0; i < nodes.length; i++) {
      results.push(window.HTMLWidgets.getInstance(nodes[i]));
    }
    return results;
  };

  var postRenderHandlers = [];
  function invokePostRenderHandlers() {
    while (postRenderHandlers.length) {
      var handler = postRenderHandlers.shift();
      if (handler) {
        handler();
      }
    }
  }

  // Register the given callback function to be invoked after the
  // next time static widgets are rendered.
  window.HTMLWidgets.addPostRenderHandler = function(callback) {
    postRenderHandlers.push(callback);
  };

  // Takes a new-style instance-bound definition, and returns an
  // old-style class-bound definition. This saves us from having
  // to rewrite all the logic in this file to accomodate both
  // types of definitions.
  function createLegacyDefinitionAdapter(defn) {
    var result = {
      name: defn.name,
      type: defn.type,
      initialize: function(el, width, height) {
        return defn.factory(el, width, height);
      },
      renderValue: function(el, x, instance) {
        return instance.renderValue(x);
      },
      resize: function(el, width, height, instance) {
        return instance.resize(width, height);
      }
    };

    if (defn.find)
      result.find = defn.find;
    if (defn.renderError)
      result.renderError = defn.renderError;
    if (defn.clearError)
      result.clearError = defn.clearError;

    return result;
  }
})();

</script>
<script>/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0;
}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",j.childNodes[0].style.borderCollapse="separate",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g=l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Sa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Oa.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+eb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{
marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){if(!n.contains(a.ownerDocument||d,a))return!0;while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({
padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});
</script>
<style type="text/css">.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane > svg,.leaflet-pane > canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer {position: absolute;left: 0;top: 0;}.leaflet-container {overflow: hidden;}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow {-webkit-user-select: none;-moz-user-select: none;user-select: none;-webkit-user-drag: none;}.leaflet-safari .leaflet-tile {image-rendering: -webkit-optimize-contrast;}.leaflet-safari .leaflet-tile-container {width: 1600px;height: 1600px;-webkit-transform-origin: 0 0;}.leaflet-marker-icon,.leaflet-marker-shadow {display: block;}.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer {max-width: none !important;max-height: none !important;}.leaflet-container.leaflet-touch-zoom {-ms-touch-action: pan-x pan-y;touch-action: pan-x pan-y;}.leaflet-container.leaflet-touch-drag {-ms-touch-action: pinch-zoom;touch-action: none;touch-action: pinch-zoom;}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {-ms-touch-action: none;touch-action: none;}.leaflet-container {-webkit-tap-highlight-color: transparent;}.leaflet-container a {-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);}.leaflet-tile {filter: inherit;visibility: hidden;}.leaflet-tile-loaded {visibility: inherit;}.leaflet-zoom-box {width: 0;height: 0;-moz-box-sizing: border-box;box-sizing: border-box;z-index: 800;}.leaflet-overlay-pane svg {-moz-user-select: none;}.leaflet-pane { z-index: 400; }.leaflet-tile-pane { z-index: 200; }.leaflet-overlay-pane { z-index: 400; }.leaflet-shadow-pane { z-index: 500; }.leaflet-marker-pane { z-index: 600; }.leaflet-tooltip-pane { z-index: 650; }.leaflet-popup-pane { z-index: 700; }.leaflet-map-pane canvas { z-index: 100; }.leaflet-map-pane svg { z-index: 200; }.leaflet-vml-shape {width: 1px;height: 1px;}.lvml {behavior: url(#default#VML);display: inline-block;position: absolute;}.leaflet-control {position: relative;z-index: 800;pointer-events: visiblePainted; pointer-events: auto;}.leaflet-top,.leaflet-bottom {position: absolute;z-index: 1000;pointer-events: none;}.leaflet-top {top: 0;}.leaflet-right {right: 0;}.leaflet-bottom {bottom: 0;}.leaflet-left {left: 0;}.leaflet-control {float: left;clear: both;}.leaflet-right .leaflet-control {float: right;}.leaflet-top .leaflet-control {margin-top: 10px;}.leaflet-bottom .leaflet-control {margin-bottom: 10px;}.leaflet-left .leaflet-control {margin-left: 10px;}.leaflet-right .leaflet-control {margin-right: 10px;}.leaflet-fade-anim .leaflet-tile {will-change: opacity;}.leaflet-fade-anim .leaflet-popup {opacity: 0;-webkit-transition: opacity 0.2s linear;-moz-transition: opacity 0.2s linear;-o-transition: opacity 0.2s linear;transition: opacity 0.2s linear;}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {opacity: 1;}.leaflet-zoom-animated {-webkit-transform-origin: 0 0;-ms-transform-origin: 0 0;transform-origin: 0 0;}.leaflet-zoom-anim .leaflet-zoom-animated {will-change: transform;}.leaflet-zoom-anim .leaflet-zoom-animated {-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);-o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);transition: transform 0.25s cubic-bezier(0,0,0.25,1);}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile {-webkit-transition: none;-moz-transition: none;-o-transition: none;transition: none;}.leaflet-zoom-anim .leaflet-zoom-hide {visibility: hidden;}.leaflet-interactive {cursor: pointer;}.leaflet-grab {cursor: -webkit-grab;cursor: -moz-grab;}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive {cursor: crosshair;}.leaflet-popup-pane,.leaflet-control {cursor: auto;}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable {cursor: move;cursor: -webkit-grabbing;cursor: -moz-grabbing;}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane > svg path,.leaflet-tile-container {pointer-events: none;}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane > svg path.leaflet-interactive {pointer-events: visiblePainted; pointer-events: auto;}.leaflet-container {background: #ddd;outline: 0;}.leaflet-container a {color: #0078A8;}.leaflet-container a.leaflet-active {outline: 2px solid orange;}.leaflet-zoom-box {border: 2px dotted #38f;background: rgba(255,255,255,0.5);}.leaflet-container {font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;}.leaflet-bar {box-shadow: 0 1px 5px rgba(0,0,0,0.65);border-radius: 4px;}.leaflet-bar a,.leaflet-bar a:hover {background-color: #fff;border-bottom: 1px solid #ccc;width: 26px;height: 26px;line-height: 26px;display: block;text-align: center;text-decoration: none;color: black;}.leaflet-bar a,.leaflet-control-layers-toggle {background-position: 50% 50%;background-repeat: no-repeat;display: block;}.leaflet-bar a:hover {background-color: #f4f4f4;}.leaflet-bar a:first-child {border-top-left-radius: 4px;border-top-right-radius: 4px;}.leaflet-bar a:last-child {border-bottom-left-radius: 4px;border-bottom-right-radius: 4px;border-bottom: none;}.leaflet-bar a.leaflet-disabled {cursor: default;background-color: #f4f4f4;color: #bbb;}.leaflet-touch .leaflet-bar a {width: 30px;height: 30px;line-height: 30px;}.leaflet-touch .leaflet-bar a:first-child {border-top-left-radius: 2px;border-top-right-radius: 2px;}.leaflet-touch .leaflet-bar a:last-child {border-bottom-left-radius: 2px;border-bottom-right-radius: 2px;}.leaflet-control-zoom-in,.leaflet-control-zoom-out {font: bold 18px 'Lucida Console', Monaco, monospace;text-indent: 1px;}.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {font-size: 22px;}.leaflet-control-layers {box-shadow: 0 1px 5px rgba(0,0,0,0.4);background: #fff;border-radius: 5px;}.leaflet-control-layers-toggle {background-image: url();width: 36px;height: 36px;}.leaflet-retina .leaflet-control-layers-toggle {background-image: url();background-size: 26px 26px;}.leaflet-touch .leaflet-control-layers-toggle {width: 44px;height: 44px;}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle {display: none;}.leaflet-control-layers-expanded .leaflet-control-layers-list {display: block;position: relative;}.leaflet-control-layers-expanded {padding: 6px 10px 6px 6px;color: #333;background: #fff;}.leaflet-control-layers-scrollbar {overflow-y: scroll;overflow-x: hidden;padding-right: 5px;}.leaflet-control-layers-selector {margin-top: 2px;position: relative;top: 1px;}.leaflet-control-layers label {display: block;}.leaflet-control-layers-separator {height: 0;border-top: 1px solid #ddd;margin: 5px -10px 5px -6px;}.leaflet-default-icon-path {background-image: url();}.leaflet-container .leaflet-control-attribution {background: #fff;background: rgba(255, 255, 255, 0.7);margin: 0;}.leaflet-control-attribution,.leaflet-control-scale-line {padding: 0 5px;color: #333;}.leaflet-control-attribution a {text-decoration: none;}.leaflet-control-attribution a:hover {text-decoration: underline;}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale {font-size: 11px;}.leaflet-left .leaflet-control-scale {margin-left: 5px;}.leaflet-bottom .leaflet-control-scale {margin-bottom: 5px;}.leaflet-control-scale-line {border: 2px solid #777;border-top: none;line-height: 1.1;padding: 2px 5px 1px;font-size: 11px;white-space: nowrap;overflow: hidden;-moz-box-sizing: border-box;box-sizing: border-box;background: #fff;background: rgba(255, 255, 255, 0.5);}.leaflet-control-scale-line:not(:first-child) {border-top: 2px solid #777;border-bottom: none;margin-top: -2px;}.leaflet-control-scale-line:not(:first-child):not(:last-child) {border-bottom: 2px solid #777;}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar {box-shadow: none;}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar {border: 2px solid rgba(0,0,0,0.2);background-clip: padding-box;}.leaflet-popup {position: absolute;text-align: center;margin-bottom: 20px;}.leaflet-popup-content-wrapper {padding: 1px;text-align: left;border-radius: 12px;}.leaflet-popup-content {margin: 13px 19px;line-height: 1.4;}.leaflet-popup-content p {margin: 18px 0;}.leaflet-popup-tip-container {width: 40px;height: 20px;position: absolute;left: 50%;margin-left: -20px;overflow: hidden;pointer-events: none;}.leaflet-popup-tip {width: 17px;height: 17px;padding: 1px;margin: -10px auto 0;-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);-ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);}.leaflet-popup-content-wrapper,.leaflet-popup-tip {background: white;color: #333;box-shadow: 0 3px 14px rgba(0,0,0,0.4);}.leaflet-container a.leaflet-popup-close-button {position: absolute;top: 0;right: 0;padding: 4px 4px 0 0;border: none;text-align: center;width: 18px;height: 14px;font: 16px/14px Tahoma, Verdana, sans-serif;color: #c3c3c3;text-decoration: none;font-weight: bold;background: transparent;}.leaflet-container a.leaflet-popup-close-button:hover {color: #999;}.leaflet-popup-scrolled {overflow: auto;border-bottom: 1px solid #ddd;border-top: 1px solid #ddd;}.leaflet-oldie .leaflet-popup-content-wrapper {zoom: 1;}.leaflet-oldie .leaflet-popup-tip {width: 24px;margin: 0 auto;-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);}.leaflet-oldie .leaflet-popup-tip-container {margin-top: -1px;}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip {border: 1px solid #999;}.leaflet-div-icon {background: #fff;border: 1px solid #666;}.leaflet-tooltip {position: absolute;padding: 6px;background-color: #fff;border: 1px solid #fff;border-radius: 3px;color: #222;white-space: nowrap;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;pointer-events: none;box-shadow: 0 1px 3px rgba(0,0,0,0.4);}.leaflet-tooltip.leaflet-clickable {cursor: pointer;pointer-events: auto;}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before {position: absolute;pointer-events: none;border: 6px solid transparent;background: transparent;content: "";}.leaflet-tooltip-bottom {margin-top: 6px;}.leaflet-tooltip-top {margin-top: -6px;}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before {left: 50%;margin-left: -6px;}.leaflet-tooltip-top:before {bottom: 0;margin-bottom: -12px;border-top-color: #fff;}.leaflet-tooltip-bottom:before {top: 0;margin-top: -12px;margin-left: -6px;border-bottom-color: #fff;}.leaflet-tooltip-left {margin-left: -6px;}.leaflet-tooltip-right {margin-left: 6px;}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before {top: 50%;margin-top: -6px;}.leaflet-tooltip-left:before {right: 0;margin-right: -12px;border-left-color: #fff;}.leaflet-tooltip-right:before {left: 0;margin-left: -12px;border-right-color: #fff;}</style>
<script>/* @preserve
 * Leaflet 1.3.1+Detached: ba6f97fff8647e724e4dfe66d2ed7da11f908989.ba6f97f, a JS library for interactive maps. https://leafletjs.com
 * (c) 2010-2017 Vladimir Agafonkin, (c) 2010-2011 CloudMade
 */
!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.L={})}(this,function(t){"use strict";function i(t){var i,e,n,o;for(e=1,n=arguments.length;e<n;e++){o=arguments[e];for(i in o)t[i]=o[i]}return t}function e(t,i){var e=Array.prototype.slice;if(t.bind)return t.bind.apply(t,e.call(arguments,1));var n=e.call(arguments,2);return function(){return t.apply(i,n.length?n.concat(e.call(arguments)):arguments)}}function n(t){return t._leaflet_id=t._leaflet_id||++ti,t._leaflet_id}function o(t,i,e){var n,o,s,r;return r=function(){n=!1,o&&(s.apply(e,o),o=!1)},s=function(){n?o=arguments:(t.apply(e,arguments),setTimeout(r,i),n=!0)}}function s(t,i,e){var n=i[1],o=i[0],s=n-o;return t===n&&e?t:((t-o)%s+s)%s+o}function r(){return!1}function a(t,i){var e=Math.pow(10,void 0===i?6:i);return Math.round(t*e)/e}function h(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function u(t){return h(t).split(/\s+/)}function l(t,i){t.hasOwnProperty("options")||(t.options=t.options?Qt(t.options):{});for(var e in i)t.options[e]=i[e];return t.options}function c(t,i,e){var n=[];for(var o in t)n.push(encodeURIComponent(e?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(i&&-1!==i.indexOf("?")?"&":"?")+n.join("&")}function _(t,i){return t.replace(ii,function(t,e){var n=i[e];if(void 0===n)throw new Error("No value provided for variable "+t);return"function"==typeof n&&(n=n(i)),n})}function d(t,i){for(var e=0;e<t.length;e++)if(t[e]===i)return e;return-1}function p(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}function m(t){var i=+new Date,e=Math.max(0,16-(i-oi));return oi=i+e,window.setTimeout(t,e)}function f(t,i,n){if(!n||si!==m)return si.call(window,e(t,i));t.call(i)}function g(t){t&&ri.call(window,t)}function v(){}function y(t){if("undefined"!=typeof L&&L&&L.Mixin){t=ei(t)?t:[t];for(var i=0;i<t.length;i++)t[i]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}function x(t,i,e){this.x=e?Math.round(t):t,this.y=e?Math.round(i):i}function w(t,i,e){return t instanceof x?t:ei(t)?new x(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new x(t.x,t.y):new x(t,i,e)}function P(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function b(t,i){return!t||t instanceof P?t:new P(t,i)}function T(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function z(t,i){return t instanceof T?t:new T(t,i)}function M(t,i,e){if(isNaN(t)||isNaN(i))throw new Error("Invalid LatLng object: ("+t+", "+i+")");this.lat=+t,this.lng=+i,void 0!==e&&(this.alt=+e)}function C(t,i,e){return t instanceof M?t:ei(t)&&"object"!=typeof t[0]?3===t.length?new M(t[0],t[1],t[2]):2===t.length?new M(t[0],t[1]):null:void 0===t||null===t?t:"object"==typeof t&&"lat"in t?new M(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===i?null:new M(t,i,e)}function Z(t,i,e,n){if(ei(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=i,this._c=e,this._d=n}function S(t,i,e,n){return new Z(t,i,e,n)}function E(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function k(t,i){var e,n,o,s,r,a,h="";for(e=0,o=t.length;e<o;e++){for(n=0,s=(r=t[e]).length;n<s;n++)a=r[n],h+=(n?"L":"M")+a.x+" "+a.y;h+=i?Xi?"z":"x":""}return h||"M0 0"}function A(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}function I(t,i,e,n){return"touchstart"===i?O(t,e,n):"touchmove"===i?W(t,e,n):"touchend"===i&&H(t,e,n),this}function B(t,i,e){var n=t["_leaflet_"+i+e];return"touchstart"===i?t.removeEventListener(Qi,n,!1):"touchmove"===i?t.removeEventListener(te,n,!1):"touchend"===i&&(t.removeEventListener(ie,n,!1),t.removeEventListener(ee,n,!1)),this}function O(t,i,n){var o=e(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(ne.indexOf(t.target.tagName)<0))return;$(t)}j(t,i)});t["_leaflet_touchstart"+n]=o,t.addEventListener(Qi,o,!1),se||(document.documentElement.addEventListener(Qi,R,!0),document.documentElement.addEventListener(te,D,!0),document.documentElement.addEventListener(ie,N,!0),document.documentElement.addEventListener(ee,N,!0),se=!0)}function R(t){oe[t.pointerId]=t,re++}function D(t){oe[t.pointerId]&&(oe[t.pointerId]=t)}function N(t){delete oe[t.pointerId],re--}function j(t,i){t.touches=[];for(var e in oe)t.touches.push(oe[e]);t.changedTouches=[t],i(t)}function W(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&j(t,i)};t["_leaflet_touchmove"+e]=n,t.addEventListener(te,n,!1)}function H(t,i,e){var n=function(t){j(t,i)};t["_leaflet_touchend"+e]=n,t.addEventListener(ie,n,!1),t.addEventListener(ee,n,!1)}function F(t,i,e){function n(t){var i;if(Ui){if(!Pi||"mouse"===t.pointerType)return;i=re}else i=t.touches.length;if(!(i>1)){var e=Date.now(),n=e-(s||e);r=t.touches?t.touches[0]:t,a=n>0&&n<=h,s=e}}function o(t){if(a&&!r.cancelBubble){if(Ui){if(!Pi||"mouse"===t.pointerType)return;var e,n,o={};for(n in r)e=r[n],o[n]=e&&e.bind?e.bind(r):e;r=o}r.type="dblclick",i(r),s=null}}var s,r,a=!1,h=250;return t[ue+ae+e]=n,t[ue+he+e]=o,t[ue+"dblclick"+e]=i,t.addEventListener(ae,n,!1),t.addEventListener(he,o,!1),t.addEventListener("dblclick",i,!1),this}function U(t,i){var e=t[ue+ae+i],n=t[ue+he+i],o=t[ue+"dblclick"+i];return t.removeEventListener(ae,e,!1),t.removeEventListener(he,n,!1),Pi||t.removeEventListener("dblclick",o,!1),this}function V(t,i,e,n){if("object"==typeof i)for(var o in i)G(t,o,i[o],e);else for(var s=0,r=(i=u(i)).length;s<r;s++)G(t,i[s],e,n);return this}function q(t,i,e,n){if("object"==typeof i)for(var o in i)K(t,o,i[o],e);else if(i)for(var s=0,r=(i=u(i)).length;s<r;s++)K(t,i[s],e,n);else{for(var a in t[le])K(t,a,t[le][a]);delete t[le]}return this}function G(t,i,e,o){var s=i+n(e)+(o?"_"+n(o):"");if(t[le]&&t[le][s])return this;var r=function(i){return e.call(o||t,i||window.event)},a=r;Ui&&0===i.indexOf("touch")?I(t,i,r,s):!Vi||"dblclick"!==i||!F||Ui&&Si?"addEventListener"in t?"mousewheel"===i?t.addEventListener("onwheel"in t?"wheel":"mousewheel",r,!1):"mouseenter"===i||"mouseleave"===i?(r=function(i){i=i||window.event,ot(t,i)&&a(i)},t.addEventListener("mouseenter"===i?"mouseover":"mouseout",r,!1)):("click"===i&&Ti&&(r=function(t){st(t,a)}),t.addEventListener(i,r,!1)):"attachEvent"in t&&t.attachEvent("on"+i,r):F(t,r,s),t[le]=t[le]||{},t[le][s]=r}function K(t,i,e,o){var s=i+n(e)+(o?"_"+n(o):""),r=t[le]&&t[le][s];if(!r)return this;Ui&&0===i.indexOf("touch")?B(t,i,s):!Vi||"dblclick"!==i||!U||Ui&&Si?"removeEventListener"in t?"mousewheel"===i?t.removeEventListener("onwheel"in t?"wheel":"mousewheel",r,!1):t.removeEventListener("mouseenter"===i?"mouseover":"mouseleave"===i?"mouseout":i,r,!1):"detachEvent"in t&&t.detachEvent("on"+i,r):U(t,s),t[le][s]=null}function Y(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,nt(t),this}function X(t){return G(t,"mousewheel",Y),this}function J(t){return V(t,"mousedown touchstart dblclick",Y),G(t,"click",et),this}function $(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Q(t){return $(t),Y(t),this}function tt(t,i){if(!i)return new x(t.clientX,t.clientY);var e=i.getBoundingClientRect(),n=e.width/i.offsetWidth||1,o=e.height/i.offsetHeight||1;return new x(t.clientX/n-e.left-i.clientLeft,t.clientY/o-e.top-i.clientTop)}function it(t){return Pi?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/ce:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function et(t){_e[t.type]=!0}function nt(t){var i=_e[t.type];return _e[t.type]=!1,i}function ot(t,i){var e=i.relatedTarget;if(!e)return!0;try{for(;e&&e!==t;)e=e.parentNode}catch(t){return!1}return e!==t}function st(t,i){var e=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,n=pi&&e-pi;n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?Q(t):(pi=e,i(t))}function rt(t){return"string"==typeof t?document.getElementById(t):t}function at(t,i){var e=t.style[i]||t.currentStyle&&t.currentStyle[i];if((!e||"auto"===e)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);e=n?n[i]:null}return"auto"===e?null:e}function ht(t,i,e){var n=document.createElement(t);return n.className=i||"",e&&e.appendChild(n),n}function ut(t){var i=t.parentNode;i&&i.removeChild(t)}function lt(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ct(t){var i=t.parentNode;i.lastChild!==t&&i.appendChild(t)}function _t(t){var i=t.parentNode;i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function dt(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=gt(t);return e.length>0&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(e)}function pt(t,i){if(void 0!==t.classList)for(var e=u(i),n=0,o=e.length;n<o;n++)t.classList.add(e[n]);else if(!dt(t,i)){var s=gt(t);ft(t,(s?s+" ":"")+i)}}function mt(t,i){void 0!==t.classList?t.classList.remove(i):ft(t,h((" "+gt(t)+" ").replace(" "+i+" "," ")))}function ft(t,i){void 0===t.className.baseVal?t.className=i:t.className.baseVal=i}function gt(t){return void 0===t.className.baseVal?t.className:t.className.baseVal}function vt(t,i){"opacity"in t.style?t.style.opacity=i:"filter"in t.style&&yt(t,i)}function yt(t,i){var e=!1,n="DXImageTransform.Microsoft.Alpha";try{e=t.filters.item(n)}catch(t){if(1===i)return}i=Math.round(100*i),e?(e.Enabled=100!==i,e.Opacity=i):t.style.filter+=" progid:"+n+"(opacity="+i+")"}function xt(t){for(var i=document.documentElement.style,e=0;e<t.length;e++)if(t[e]in i)return t[e];return!1}function wt(t,i,e){var n=i||new x(0,0);t.style[pe]=(Oi?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(e?" scale("+e+")":"")}function Lt(t,i){t._leaflet_pos=i,Ni?wt(t,i):(t.style.left=i.x+"px",t.style.top=i.y+"px")}function Pt(t){return t._leaflet_pos||new x(0,0)}function bt(){V(window,"dragstart",$)}function Tt(){q(window,"dragstart",$)}function zt(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Mt(),ve=t,ye=t.style.outline,t.style.outline="none",V(window,"keydown",Mt))}function Mt(){ve&&(ve.style.outline=ye,ve=void 0,ye=void 0,q(window,"keydown",Mt))}function Ct(t,i){if(!i||!t.length)return t.slice();var e=i*i;return t=kt(t,e),t=St(t,e)}function Zt(t,i,e){return Math.sqrt(Rt(t,i,e,!0))}function St(t,i){var e=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(e);n[0]=n[e-1]=1,Et(t,n,i,0,e-1);var o,s=[];for(o=0;o<e;o++)n[o]&&s.push(t[o]);return s}function Et(t,i,e,n,o){var s,r,a,h=0;for(r=n+1;r<=o-1;r++)(a=Rt(t[r],t[n],t[o],!0))>h&&(s=r,h=a);h>e&&(i[s]=1,Et(t,i,e,n,s),Et(t,i,e,s,o))}function kt(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;n<s;n++)Ot(t[n],t[o])>i&&(e.push(t[n]),o=n);return o<s-1&&e.push(t[s-1]),e}function At(t,i,e,n,o){var s,r,a,h=n?Se:Bt(t,e),u=Bt(i,e);for(Se=u;;){if(!(h|u))return[t,i];if(h&u)return!1;a=Bt(r=It(t,i,s=h||u,e,o),e),s===h?(t=r,h=a):(i=r,u=a)}}function It(t,i,e,n,o){var s,r,a=i.x-t.x,h=i.y-t.y,u=n.min,l=n.max;return 8&e?(s=t.x+a*(l.y-t.y)/h,r=l.y):4&e?(s=t.x+a*(u.y-t.y)/h,r=u.y):2&e?(s=l.x,r=t.y+h*(l.x-t.x)/a):1&e&&(s=u.x,r=t.y+h*(u.x-t.x)/a),new x(s,r,o)}function Bt(t,i){var e=0;return t.x<i.min.x?e|=1:t.x>i.max.x&&(e|=2),t.y<i.min.y?e|=4:t.y>i.max.y&&(e|=8),e}function Ot(t,i){var e=i.x-t.x,n=i.y-t.y;return e*e+n*n}function Rt(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=e.x,r=e.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new x(s,r)}function Dt(t){return!ei(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Nt(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Dt(t)}function jt(t,i,e){var n,o,s,r,a,h,u,l,c,_=[1,4,2,8];for(o=0,u=t.length;o<u;o++)t[o]._code=Bt(t[o],i);for(r=0;r<4;r++){for(l=_[r],n=[],o=0,s=(u=t.length)-1;o<u;s=o++)a=t[o],h=t[s],a._code&l?h._code&l||((c=It(h,a,l,i,e))._code=Bt(c,i),n.push(c)):(h._code&l&&((c=It(h,a,l,i,e))._code=Bt(c,i),n.push(c)),n.push(a));t=n}return t}function Wt(t,i){var e,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],u=i&&i.pointToLayer,l=i&&i.coordsToLatLng||Ht;if(!a&&!r)return null;switch(r.type){case"Point":return e=l(a),u?u(t,e):new Xe(e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)e=l(a[o]),h.push(u?u(t,e):new Xe(e));return new qe(h);case"LineString":case"MultiLineString":return n=Ft(a,"LineString"===r.type?0:1,l),new tn(n,i);case"Polygon":case"MultiPolygon":return n=Ft(a,"Polygon"===r.type?1:2,l),new en(n,i);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=Wt({geometry:r.geometries[o],type:"Feature",properties:t.properties},i);c&&h.push(c)}return new qe(h);default:throw new Error("Invalid GeoJSON object.")}}function Ht(t){return new M(t[1],t[0],t[2])}function Ft(t,i,e){for(var n,o=[],s=0,r=t.length;s<r;s++)n=i?Ft(t[s],i-1,e):(e||Ht)(t[s]),o.push(n);return o}function Ut(t,i){return i="number"==typeof i?i:6,void 0!==t.alt?[a(t.lng,i),a(t.lat,i),a(t.alt,i)]:[a(t.lng,i),a(t.lat,i)]}function Vt(t,i,e,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(i?Vt(t[s],i-1,e,n):Ut(t[s],n));return!i&&e&&o.push(o[0]),o}function qt(t,e){return t.feature?i({},t.feature,{geometry:e}):Gt(e)}function Gt(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}function Kt(t,i){return new nn(t,i)}function Yt(t,i){return new dn(t,i)}function Xt(t){return Yi?new fn(t):null}function Jt(t){return Xi||Ji?new xn(t):null}var $t=Object.freeze;Object.freeze=function(t){return t};var Qt=Object.create||function(){function t(){}return function(i){return t.prototype=i,new t}}(),ti=0,ii=/\{ *([\w_-]+) *\}/g,ei=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},ni="",oi=0,si=window.requestAnimationFrame||p("RequestAnimationFrame")||m,ri=window.cancelAnimationFrame||p("CancelAnimationFrame")||p("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)},ai=(Object.freeze||Object)({freeze:$t,extend:i,create:Qt,bind:e,lastId:ti,stamp:n,throttle:o,wrapNum:s,falseFn:r,formatNum:a,trim:h,splitWords:u,setOptions:l,getParamString:c,template:_,isArray:ei,indexOf:d,emptyImageUrl:ni,requestFn:si,cancelFn:ri,requestAnimFrame:f,cancelAnimFrame:g});v.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},n=e.__super__=this.prototype,o=Qt(n);o.constructor=e,e.prototype=o;for(var s in this)this.hasOwnProperty(s)&&"prototype"!==s&&"__super__"!==s&&(e[s]=this[s]);return t.statics&&(i(e,t.statics),delete t.statics),t.includes&&(y(t.includes),i.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=i(Qt(o.options),t.options)),i(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,i=o._initHooks.length;t<i;t++)o._initHooks[t].call(this)}},e},v.include=function(t){return i(this.prototype,t),this},v.mergeOptions=function(t){return i(this.prototype.options,t),this},v.addInitHook=function(t){var i=Array.prototype.slice.call(arguments,1),e="function"==typeof t?t:function(){this[t].apply(this,i)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(e),this};var hi={on:function(t,i,e){if("object"==typeof t)for(var n in t)this._on(n,t[n],i);else for(var o=0,s=(t=u(t)).length;o<s;o++)this._on(t[o],i,e);return this},off:function(t,i,e){if(t)if("object"==typeof t)for(var n in t)this._off(n,t[n],i);else for(var o=0,s=(t=u(t)).length;o<s;o++)this._off(t[o],i,e);else delete this._events;return this},_on:function(t,i,e){this._events=this._events||{};var n=this._events[t];n||(n=[],this._events[t]=n),e===this&&(e=void 0);for(var o={fn:i,ctx:e},s=n,r=0,a=s.length;r<a;r++)if(s[r].fn===i&&s[r].ctx===e)return;s.push(o)},_off:function(t,i,e){var n,o,s;if(this._events&&(n=this._events[t]))if(i){if(e===this&&(e=void 0),n)for(o=0,s=n.length;o<s;o++){var a=n[o];if(a.ctx===e&&a.fn===i)return a.fn=r,this._firingCount&&(this._events[t]=n=n.slice()),void n.splice(o,1)}}else{for(o=0,s=n.length;o<s;o++)n[o].fn=r;delete this._events[t]}},fire:function(t,e,n){if(!this.listens(t,n))return this;var o=i({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r<a;r++){var h=s[r];h.fn.call(h.ctx||this,o)}this._firingCount--}}return n&&this._propagateEvent(o),this},listens:function(t,i){var e=this._events&&this._events[t];if(e&&e.length)return!0;if(i)for(var n in this._eventParents)if(this._eventParents[n].listens(t,i))return!0;return!1},once:function(t,i,n){if("object"==typeof t){for(var o in t)this.once(o,t[o],i);return this}var s=e(function(){this.off(t,i,n).off(t,s,n)},this);return this.on(t,i,n).on(t,s,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[n(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[n(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,i({layer:t.target,propagatedFrom:t.target},t),!0)}};hi.addEventListener=hi.on,hi.removeEventListener=hi.clearAllEventListeners=hi.off,hi.addOneTimeEventListener=hi.once,hi.fireEvent=hi.fire,hi.hasEventListeners=hi.listens;var ui=v.extend(hi),li=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};x.prototype={clone:function(){return new x(this.x,this.y)},add:function(t){return this.clone()._add(w(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(w(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new x(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new x(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=li(this.x),this.y=li(this.y),this},distanceTo:function(t){var i=(t=w(t)).x-this.x,e=t.y-this.y;return Math.sqrt(i*i+e*e)},equals:function(t){return(t=w(t)).x===this.x&&t.y===this.y},contains:function(t){return t=w(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+a(this.x)+", "+a(this.y)+")"}},P.prototype={extend:function(t){return t=w(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new x((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new x(this.min.x,this.max.y)},getTopRight:function(){return new x(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var i,e;return(t="number"==typeof t[0]||t instanceof x?w(t):b(t))instanceof P?(i=t.min,e=t.max):i=e=t,i.x>=this.min.x&&e.x<=this.max.x&&i.y>=this.min.y&&e.y<=this.max.y},intersects:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x<=e.x,r=o.y>=i.y&&n.y<=e.y;return s&&r},overlaps:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.x<e.x,r=o.y>i.y&&n.y<e.y;return s&&r},isValid:function(){return!(!this.min||!this.max)}},T.prototype={extend:function(t){var i,e,n=this._southWest,o=this._northEast;if(t instanceof M)i=t,e=t;else{if(!(t instanceof T))return t?this.extend(C(t)||z(t)):this;if(i=t._southWest,e=t._northEast,!i||!e)return this}return n||o?(n.lat=Math.min(i.lat,n.lat),n.lng=Math.min(i.lng,n.lng),o.lat=Math.max(e.lat,o.lat),o.lng=Math.max(e.lng,o.lng)):(this._southWest=new M(i.lat,i.lng),this._northEast=new M(e.lat,e.lng)),this},pad:function(t){var i=this._southWest,e=this._northEast,n=Math.abs(i.lat-e.lat)*t,o=Math.abs(i.lng-e.lng)*t;return new T(new M(i.lat-n,i.lng-o),new M(e.lat+n,e.lng+o))},getCenter:function(){return new M((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new M(this.getNorth(),this.getWest())},getSouthEast:function(){return new M(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof M||"lat"in t?C(t):z(t);var i,e,n=this._southWest,o=this._northEast;return t instanceof T?(i=t.getSouthWest(),e=t.getNorthEast()):i=e=t,i.lat>=n.lat&&e.lat<=o.lat&&i.lng>=n.lng&&e.lng<=o.lng},intersects:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat<=e.lat,r=o.lng>=i.lng&&n.lng<=e.lng;return s&&r},overlaps:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lat<e.lat,r=o.lng>i.lng&&n.lng<e.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,i){return!!t&&(t=z(t),this._southWest.equals(t.getSouthWest(),i)&&this._northEast.equals(t.getNorthEast(),i))},isValid:function(){return!(!this._southWest||!this._northEast)}},M.prototype={equals:function(t,i){return!!t&&(t=C(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===i?1e-9:i))},toString:function(t){return"LatLng("+a(this.lat,t)+", "+a(this.lng,t)+")"},distanceTo:function(t){return _i.distance(this,C(t))},wrap:function(){return _i.wrapLatLng(this)},toBounds:function(t){var i=180*t/40075017,e=i/Math.cos(Math.PI/180*this.lat);return z([this.lat-i,this.lng-e],[this.lat+i,this.lng+e])},clone:function(){return new M(this.lat,this.lng,this.alt)}};var ci={latLngToPoint:function(t,i){var e=this.projection.project(t),n=this.scale(i);return this.transformation._transform(e,n)},pointToLatLng:function(t,i){var e=this.scale(i),n=this.transformation.untransform(t,e);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var i=this.projection.bounds,e=this.scale(t);return new P(this.transformation.transform(i.min,e),this.transformation.transform(i.max,e))},infinite:!1,wrapLatLng:function(t){var i=this.wrapLng?s(t.lng,this.wrapLng,!0):t.lng;return new M(this.wrapLat?s(t.lat,this.wrapLat,!0):t.lat,i,t.alt)},wrapLatLngBounds:function(t){var i=t.getCenter(),e=this.wrapLatLng(i),n=i.lat-e.lat,o=i.lng-e.lng;if(0===n&&0===o)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new T(new M(s.lat-n,s.lng-o),new M(r.lat-n,r.lng-o))}},_i=i({},ci,{wrapLng:[-180,180],R:6371e3,distance:function(t,i){var e=Math.PI/180,n=t.lat*e,o=i.lat*e,s=Math.sin((i.lat-t.lat)*e/2),r=Math.sin((i.lng-t.lng)*e/2),a=s*s+Math.cos(n)*Math.cos(o)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),di={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var i=Math.PI/180,e=this.MAX_LATITUDE,n=Math.max(Math.min(e,t.lat),-e),o=Math.sin(n*i);return new x(this.R*t.lng*i,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var i=180/Math.PI;return new M((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*i,t.x*i/this.R)},bounds:function(){var t=6378137*Math.PI;return new P([-t,-t],[t,t])}()};Z.prototype={transform:function(t,i){return this._transform(t.clone(),i)},_transform:function(t,i){return i=i||1,t.x=i*(this._a*t.x+this._b),t.y=i*(this._c*t.y+this._d),t},untransform:function(t,i){return i=i||1,new x((t.x/i-this._b)/this._a,(t.y/i-this._d)/this._c)}};var pi,mi,fi,gi,vi=i({},_i,{code:"EPSG:3857",projection:di,transformation:function(){var t=.5/(Math.PI*di.R);return S(t,.5,-t,.5)}()}),yi=i({},vi,{code:"EPSG:900913"}),xi=document.documentElement.style,wi="ActiveXObject"in window,Li=wi&&!document.addEventListener,Pi="msLaunchUri"in navigator&&!("documentMode"in document),bi=A("webkit"),Ti=A("android"),zi=A("android 2")||A("android 3"),Mi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ci=Ti&&A("Google")&&Mi<537&&!("AudioNode"in window),Zi=!!window.opera,Si=A("chrome"),Ei=A("gecko")&&!bi&&!Zi&&!wi,ki=!Si&&A("safari"),Ai=A("phantom"),Ii="OTransition"in xi,Bi=0===navigator.platform.indexOf("Win"),Oi=wi&&"transition"in xi,Ri="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!zi,Di="MozPerspective"in xi,Ni=!window.L_DISABLE_3D&&(Oi||Ri||Di)&&!Ii&&!Ai,ji="undefined"!=typeof orientation||A("mobile"),Wi=ji&&bi,Hi=ji&&Ri,Fi=!window.PointerEvent&&window.MSPointerEvent,Ui=!(!window.PointerEvent&&!Fi),Vi=!window.L_NO_TOUCH&&(Ui||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),qi=ji&&Zi,Gi=ji&&Ei,Ki=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Yi=!!document.createElement("canvas").getContext,Xi=!(!document.createElementNS||!E("svg").createSVGRect),Ji=!Xi&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}(),$i=(Object.freeze||Object)({ie:wi,ielt9:Li,edge:Pi,webkit:bi,android:Ti,android23:zi,androidStock:Ci,opera:Zi,chrome:Si,gecko:Ei,safari:ki,phantom:Ai,opera12:Ii,win:Bi,ie3d:Oi,webkit3d:Ri,gecko3d:Di,any3d:Ni,mobile:ji,mobileWebkit:Wi,mobileWebkit3d:Hi,msPointer:Fi,pointer:Ui,touch:Vi,mobileOpera:qi,mobileGecko:Gi,retina:Ki,canvas:Yi,svg:Xi,vml:Ji}),Qi=Fi?"MSPointerDown":"pointerdown",te=Fi?"MSPointerMove":"pointermove",ie=Fi?"MSPointerUp":"pointerup",ee=Fi?"MSPointerCancel":"pointercancel",ne=["INPUT","SELECT","OPTION"],oe={},se=!1,re=0,ae=Fi?"MSPointerDown":Ui?"pointerdown":"touchstart",he=Fi?"MSPointerUp":Ui?"pointerup":"touchend",ue="_leaflet_",le="_leaflet_events",ce=Bi&&Si?2*window.devicePixelRatio:Ei?window.devicePixelRatio:1,_e={},de=(Object.freeze||Object)({on:V,off:q,stopPropagation:Y,disableScrollPropagation:X,disableClickPropagation:J,preventDefault:$,stop:Q,getMousePosition:tt,getWheelDelta:it,fakeStop:et,skipped:nt,isExternalTarget:ot,addListener:V,removeListener:q}),pe=xt(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]),me=xt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),fe="webkitTransition"===me||"OTransition"===me?me+"End":"transitionend";if("onselectstart"in document)mi=function(){V(window,"selectstart",$)},fi=function(){q(window,"selectstart",$)};else{var ge=xt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);mi=function(){if(ge){var t=document.documentElement.style;gi=t[ge],t[ge]="none"}},fi=function(){ge&&(document.documentElement.style[ge]=gi,gi=void 0)}}var ve,ye,xe=(Object.freeze||Object)({TRANSFORM:pe,TRANSITION:me,TRANSITION_END:fe,get:rt,getStyle:at,create:ht,remove:ut,empty:lt,toFront:ct,toBack:_t,hasClass:dt,addClass:pt,removeClass:mt,setClass:ft,getClass:gt,setOpacity:vt,testProp:xt,setTransform:wt,setPosition:Lt,getPosition:Pt,disableTextSelection:mi,enableTextSelection:fi,disableImageDrag:bt,enableImageDrag:Tt,preventOutline:zt,restoreOutline:Mt}),we=ui.extend({run:function(t,i,e,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=e||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pt(t),this._offset=i.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=f(this._animate,this),this._step()},_step:function(t){var i=+new Date-this._startTime,e=1e3*this._duration;i<e?this._runFrame(this._easeOut(i/e),t):(this._runFrame(1),this._complete())},_runFrame:function(t,i){var e=this._startPos.add(this._offset.multiplyBy(t));i&&e._round(),Lt(this._el,e),this.fire("step")},_complete:function(){g(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Le=ui.extend({options:{crs:vi,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,i){i=l(this,i),this._initContainer(t),this._initLayout(),this._onResize=e(this._onResize,this),this._initEvents(),i.maxBounds&&this.setMaxBounds(i.maxBounds),void 0!==i.zoom&&(this._zoom=this._limitZoom(i.zoom)),i.center&&void 0!==i.zoom&&this.setView(C(i.center),i.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this.callInitHooks(),this._zoomAnimated=me&&Ni&&!qi&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),V(this._proxy,fe,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,n){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(C(t),e,this.options.maxBounds),n=n||{},this._stop(),this._loaded&&!n.reset&&!0!==n&&(void 0!==n.animate&&(n.zoom=i({animate:n.animate},n.zoom),n.pan=i({animate:n.animate,duration:n.duration},n.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,n.zoom):this._tryAnimatedPan(t,n.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),this)},setZoom:function(t,i){return this._loaded?this.setView(this.getCenter(),t,{zoom:i}):(this._zoom=t,this)},zoomIn:function(t,i){return t=t||(Ni?this.options.zoomDelta:1),this.setZoom(this._zoom+t,i)},zoomOut:function(t,i){return t=t||(Ni?this.options.zoomDelta:1),this.setZoom(this._zoom-t,i)},setZoomAround:function(t,i,e){var n=this.getZoomScale(i),o=this.getSize().divideBy(2),s=(t instanceof x?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),r=this.containerPointToLatLng(o.add(s));return this.setView(r,i,{zoom:e})},_getBoundsCenterZoom:function(t,i){i=i||{},t=t.getBounds?t.getBounds():z(t);var e=w(i.paddingTopLeft||i.padding||[0,0]),n=w(i.paddingBottomRight||i.padding||[0,0]),o=this.getBoundsZoom(t,!1,e.add(n));if((o="number"==typeof i.maxZoom?Math.min(i.maxZoom,o):o)===1/0)return{center:t.getCenter(),zoom:o};var s=n.subtract(e).divideBy(2),r=this.project(t.getSouthWest(),o),a=this.project(t.getNorthEast(),o);return{center:this.unproject(r.add(a).divideBy(2).add(s),o),zoom:o}},fitBounds:function(t,i){if(!(t=z(t)).isValid())throw new Error("Bounds are not valid.");var e=this._getBoundsCenterZoom(t,i);return this.setView(e.center,e.zoom,i)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,i){return this.setView(t,this._zoom,{pan:i})},panBy:function(t,i){if(t=w(t).round(),i=i||{},!t.x&&!t.y)return this.fire("moveend");if(!0!==i.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new we,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),i.noMoveStart||this.fire("movestart"),!1!==i.animate){pt(this._mapPane,"leaflet-pan-anim");var e=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,e,i.duration||.25,i.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,i,e){function n(t){var i=(g*g-m*m+(t?-1:1)*x*x*v*v)/(2*(t?g:m)*x*v),e=Math.sqrt(i*i+1)-i;return e<1e-9?-18:Math.log(e)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/s(t)}function a(t){return m*(s(w)/s(w+y*t))}function h(t){return m*(s(w)*r(w+y*t)-o(w))/x}function u(t){return 1-Math.pow(1-t,1.5)}function l(){var e=(Date.now()-L)/b,n=u(e)*P;e<=1?(this._flyToFrame=f(l,this),this._move(this.unproject(c.add(_.subtract(c).multiplyBy(h(n)/v)),p),this.getScaleZoom(m/a(n),p),{flyTo:!0})):this._move(t,i)._moveEnd(!0)}if(!1===(e=e||{}).animate||!Ni)return this.setView(t,i,e);this._stop();var c=this.project(this.getCenter()),_=this.project(t),d=this.getSize(),p=this._zoom;t=C(t),i=void 0===i?p:i;var m=Math.max(d.x,d.y),g=m*this.getZoomScale(p,i),v=_.distanceTo(c)||1,y=1.42,x=y*y,w=n(0),L=Date.now(),P=(n(1)-w)/y,b=e.duration?1e3*e.duration:1e3*P*.8;return this._moveStart(!0,e.noMoveStart),l.call(this),this},flyToBounds:function(t,i){var e=this._getBoundsCenterZoom(t,i);return this.flyTo(e.center,e.zoom,i)},setMaxBounds:function(t){return(t=z(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var i=this.options.minZoom;return this.options.minZoom=t,this._loaded&&i!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var i=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&i!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,z(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var n=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),s=n.divideBy(2).round(),r=o.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(e(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:n,newSize:o})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var n=e(this._handleGeolocationResponse,this),o=e(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(n,o,t):navigator.geolocation.getCurrentPosition(n,o,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var i=t.code,e=t.message||(1===i?"permission denied":2===i?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:i,message:"Geolocation error: "+e+"."})},_handleGeolocationResponse:function(t){var i=new M(t.coords.latitude,t.coords.longitude),e=i.toBounds(t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(e);this.setView(i,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:i,bounds:e,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)},addHandler:function(t,i){if(!i)return this;var e=this[t]=new i(this);return this._handlers.push(e),this.options[t]&&e.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),ut(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)ut(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var e=ht("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),i||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new T(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,i,e){t=z(t),e=w(e||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(e),u=b(this.project(a,n),this.project(r,n)).getSize(),l=Ni?this.options.zoomSnap:1,c=h.x/u.x,_=h.y/u.y,d=i?Math.max(c,_):Math.min(c,_);return n=this.getScaleZoom(d,n),l&&(n=Math.round(n/(l/100))*(l/100),n=i?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new x(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,i){var e=this._getTopLeftPoint(t,i);return new P(e,e.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,i){var e=this.options.crs;return i=void 0===i?this._zoom:i,e.scale(t)/e.scale(i)},getScaleZoom:function(t,i){var e=this.options.crs;i=void 0===i?this._zoom:i;var n=e.zoom(t*e.scale(i));return isNaN(n)?1/0:n},project:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.latLngToPoint(C(t),i)},unproject:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.pointToLatLng(w(t),i)},layerPointToLatLng:function(t){var i=w(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){return this.project(C(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(C(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,i){return this.options.crs.distance(C(t),C(i))},containerPointToLayerPoint:function(t){return w(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return w(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(w(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(C(t)))},mouseEventToContainerPoint:function(t){return tt(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var i=this._container=rt(t);if(!i)throw new Error("Map container not found.");if(i._leaflet_id)throw new Error("Map container is already initialized.");V(i,"scroll",this._onScroll,this),this._containerId=n(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ni,pt(t,"leaflet-container"+(Vi?" leaflet-touch":"")+(Ki?" leaflet-retina":"")+(Li?" leaflet-oldie":"")+(ki?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=at(t,"position");"absolute"!==i&&"relative"!==i&&"fixed"!==i&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Lt(this._mapPane,new x(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(pt(t.markerPane,"leaflet-zoom-hide"),pt(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,i){Lt(this._mapPane,new x(0,0));var e=!this._loaded;this._loaded=!0,i=this._limitZoom(i),this.fire("viewprereset");var n=this._zoom!==i;this._moveStart(n,!1)._move(t,i)._moveEnd(n),this.fire("viewreset"),e&&this.fire("load")},_moveStart:function(t,i){return t&&this.fire("zoomstart"),i||this.fire("movestart"),this},_move:function(t,i,e){void 0===i&&(i=this._zoom);var n=this._zoom!==i;return this._zoom=i,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||e&&e.pinch)&&this.fire("zoom",e),this.fire("move",e)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return g(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Lt(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[n(this._container)]=this;var i=t?q:V;i(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&i(window,"resize",this._onResize,this),Ni&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){g(this._resizeRequest),this._resizeRequest=f(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,o=[],s="mouseout"===i||"mouseover"===i,r=t.target||t.srcElement,a=!1;r;){if((e=this._targets[n(r)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){a=!0;break}if(e&&e.listens(i,!0)){if(s&&!ot(r,t))break;if(o.push(e),s)break}if(r===this._container)break;r=r.parentNode}return o.length||a||s||!ot(r,t)||(o=[this]),o},_handleDOMEvent:function(t){if(this._loaded&&!nt(t)){var i=t.type;"mousedown"!==i&&"keypress"!==i||zt(t.target||t.srcElement),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}if(!t._stopped&&(n=(n||[]).concat(this._findEventTargets(t,e))).length){var s=n[0];"contextmenu"===e&&s.listens(e,!0)&&$(t);var r={originalEvent:t};if("keypress"!==t.type){var a=s.getLatLng&&(!s._radius||s._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h<n.length;h++)if(n[h].fire(e,r,!0),r.originalEvent._stopped||!1===n[h].options.bubblingMouseEvents&&-1!==d(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,i=this._handlers.length;t<i;t++)this._handlers[t].disable()},whenReady:function(t,i){return this._loaded?t.call(i||this,{target:this}):this.on("load",t,i),this},_getMapPanePos:function(){return Pt(this._mapPane)||new x(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,i){return(t&&void 0!==i?this._getNewPixelOrigin(t,i):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,i){var e=this.getSize()._divideBy(2);return this.project(t,i)._subtract(e)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return this.project(t,i)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return b([this.project(t.getSouthWest(),i)._subtract(n),this.project(t.getNorthWest(),i)._subtract(n),this.project(t.getSouthEast(),i)._subtract(n),this.project(t.getNorthEast(),i)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,i,e){if(!e)return t;var n=this.project(t,i),o=this.getSize().divideBy(2),s=new P(n.subtract(o),n.add(o)),r=this._getBoundsOffset(s,e,i);return r.round().equals([0,0])?t:this.unproject(n.add(r),i)},_limitOffset:function(t,i){if(!i)return t;var e=this.getPixelBounds(),n=new P(e.min.add(t),e.max.add(t));return t.add(this._getBoundsOffset(n,i))},_getBoundsOffset:function(t,i,e){var n=b(this.project(i.getNorthEast(),e),this.project(i.getSouthWest(),e)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new x(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,i){return t+i>0?Math.round(t-i)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(i))},_limitZoom:function(t){var i=this.getMinZoom(),e=this.getMaxZoom(),n=Ni?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(i,Math.min(e,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){mt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,i){var e=this._getCenterOffset(t)._trunc();return!(!0!==(i&&i.animate)&&!this.getSize().contains(e))&&(this.panBy(e,i),!0)},_createAnimProxy:function(){var t=this._proxy=ht("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var i=pe,e=this._proxy.style[i];wt(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),e===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),i=this.getZoom();wt(this._proxy,this.project(t,i),this.getZoomScale(i,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ut(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,i,e){if(this._animatingZoom)return!0;if(e=e||{},!this._zoomAnimated||!1===e.animate||this._nothingToAnimate()||Math.abs(i-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(f(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,n,o){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,pt(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:o}),setTimeout(e(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&mt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),f(function(){this._moveEnd(!0)},this))}}),Pe=v.extend({options:{position:"topright"},initialize:function(t){l(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return pt(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this},remove:function(){return this._map?(ut(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),be=function(t){return new Pe(t)};Le.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,o){var s=e+t+" "+e+o;i[t+o]=ht("div",s,n)}var i=this._controlCorners={},e="leaflet-",n=this._controlContainer=ht("div",e+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)ut(this._controlCorners[t]);ut(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Te=Pe.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,i,e,n){return e<n?-1:n<e?1:0}},initialize:function(t,i,e){l(this,e),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1;for(var n in t)this._addLayer(t[n],n);for(n in i)this._addLayer(i[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var i=0;i<this._layers.length;i++)this._layers[i].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Pe.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,i){return this._addLayer(t,i),this._map?this._update():this},addOverlay:function(t,i){return this._addLayer(t,i,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var i=this._getLayer(n(t));return i&&this._layers.splice(this._layers.indexOf(i),1),this._map?this._update():this},expand:function(){pt(this._container,"leaflet-control-layers-expanded"),this._form.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._form.clientHeight?(pt(this._form,"leaflet-control-layers-scrollbar"),this._form.style.height=t+"px"):mt(this._form,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return mt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",i=this._container=ht("div",t),e=this.options.collapsed;i.setAttribute("aria-haspopup",!0),J(i),X(i);var n=this._form=ht("form",t+"-list");e&&(this._map.on("click",this.collapse,this),Ti||V(i,{mouseenter:this.expand,mouseleave:this.collapse},this));var o=this._layersLink=ht("a",t+"-toggle",i);o.href="#",o.title="Layers",Vi?(V(o,"click",Q),V(o,"click",this.expand,this)):V(o,"focus",this.expand,this),e||this.expand(),this._baseLayersList=ht("div",t+"-base",n),this._separator=ht("div",t+"-separator",n),this._overlaysList=ht("div",t+"-overlays",n),i.appendChild(n)},_getLayer:function(t){for(var i=0;i<this._layers.length;i++)if(this._layers[i]&&n(this._layers[i].layer)===t)return this._layers[i]},_addLayer:function(t,i,n){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:i,overlay:n}),this.options.sortLayers&&this._layers.sort(e(function(t,i){return this.options.sortFunction(t.layer,i.layer,t.name,i.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;lt(this._baseLayersList),lt(this._overlaysList),this._layerControlInputs=[];var t,i,e,n,o=0;for(e=0;e<this._layers.length;e++)n=this._layers[e],this._addItem(n),i=i||n.overlay,t=t||!n.overlay,o+=n.overlay?0:1;return this.options.hideSingleBase&&(t=t&&o>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=i&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var i=this._getLayer(n(t.target)),e=i.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;e&&this._map.fire(e,i)},_createRadioElement:function(t,i){var e='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(i?' checked="checked"':"")+"/>",n=document.createElement("div");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement("label"),o=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=o):i=this._createRadioElement("leaflet-base-layers",o),this._layerControlInputs.push(i),i.layerId=n(t.layer),V(i,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var r=document.createElement("div");return e.appendChild(r),r.appendChild(i),r.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;s>=0;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,i,e=this._layerControlInputs,n=this._map.getZoom(),o=e.length-1;o>=0;o--)t=e[o],i=this._getLayer(t.layerId).layer,t.disabled=void 0!==i.options.minZoom&&n<i.options.minZoom||void 0!==i.options.maxZoom&&n>i.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),ze=Pe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"&#x2212;",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=ht("div",i+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+"-in",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+"-out",e,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),e},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=ht("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),J(s),V(s,"click",Q),V(s,"click",o,this),V(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";mt(this._zoomInButton,i),mt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMinZoom())&&pt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMaxZoom())&&pt(this._zoomInButton,i)}});Le.mergeOptions({zoomControl:!0}),Le.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new ze,this.addControl(this.zoomControl))});var Me=Pe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i=ht("div","leaflet-control-scale"),e=this.options;return this._addScales(e,"leaflet-control-scale-line",i),t.on(e.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=ht("div",i,e)),t.imperial&&(this._iScale=ht("div",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;o>5280?(i=o/5280,e=this._getRoundNum(i),this._updateScale(this._iScale,e+" mi",e/i)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,i,e){t.style.width=Math.round(this.options.maxWidth*e)+"px",t.innerHTML=i},_getRoundNum:function(t){var i=Math.pow(10,(Math.floor(t)+"").length-1),e=t/i;return e=e>=10?10:e>=5?5:e>=3?3:e>=2?2:1,i*e}}),Ce=Pe.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){l(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=ht("div","leaflet-control-attribution"),J(this._container);for(var i in t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(", ")),this._container.innerHTML=e.join(" | ")}}});Le.mergeOptions({attributionControl:!0}),Le.addInitHook(function(){this.options.attributionControl&&(new Ce).addTo(this)});Pe.Layers=Te,Pe.Zoom=ze,Pe.Scale=Me,Pe.Attribution=Ce,be.layers=function(t,i,e){return new Te(t,i,e)},be.zoom=function(t){return new ze(t)},be.scale=function(t){return new Me(t)},be.attribution=function(t){return new Ce(t)};var Ze=v.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ze.addTo=function(t,i){return t.addHandler(i,this),this};var Se,Ee={Events:hi},ke=Vi?"touchstart mousedown":"mousedown",Ae={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},Ie={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},Be=ui.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){l(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(V(this._dragStartTarget,ke,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Be._dragging===this&&this.finishDrag(),q(this._dragStartTarget,ke,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!dt(this._element,"leaflet-zoom-anim")&&!(Be._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(Be._dragging=this,this._preventOutline&&zt(this._element),bt(),mi(),this._moving)))){this.fire("down");var i=t.touches?t.touches[0]:t;this._startPoint=new x(i.clientX,i.clientY),V(document,Ie[t.type],this._onMove,this),V(document,Ae[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var i=t.touches&&1===t.touches.length?t.touches[0]:t,e=new x(i.clientX,i.clientY).subtract(this._startPoint);(e.x||e.y)&&(Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||($(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=Pt(this._element).subtract(e),pt(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),pt(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,g(this._animRequest),this._lastEvent=t,this._animRequest=f(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),Lt(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){mt(document.body,"leaflet-dragging"),this._lastTarget&&(mt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null);for(var t in Ie)q(document,Ie[t],this._onMove,this),q(document,Ae[t],this._onUp,this);Tt(),fi(),this._moved&&this._moving&&(g(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,Be._dragging=!1}}),Oe=(Object.freeze||Object)({simplify:Ct,pointToSegmentDistance:Zt,closestPointOnSegment:function(t,i,e){return Rt(t,i,e)},clipSegment:At,_getEdgeIntersection:It,_getBitCode:Bt,_sqClosestPointOnSegment:Rt,isFlat:Dt,_flat:Nt}),Re=(Object.freeze||Object)({clipPolygon:jt}),De={project:function(t){return new x(t.lng,t.lat)},unproject:function(t){return new M(t.y,t.x)},bounds:new P([-180,-90],[180,90])},Ne={R:6378137,R_MINOR:6356752.314245179,bounds:new P([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var i=Math.PI/180,e=this.R,n=t.lat*i,o=this.R_MINOR/e,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-e*Math.log(Math.max(a,1e-10)),new x(t.lng*i*e,n)},unproject:function(t){for(var i,e=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,u=.1;h<15&&Math.abs(u)>1e-7;h++)i=s*Math.sin(a),i=Math.pow((1-i)/(1+i),s/2),a+=u=Math.PI/2-2*Math.atan(r*i)-a;return new M(a*e,t.x*e/n)}},je=(Object.freeze||Object)({LonLat:De,Mercator:Ne,SphericalMercator:di}),We=i({},_i,{code:"EPSG:3395",projection:Ne,transformation:function(){var t=.5/(Math.PI*Ne.R);return S(t,.5,-t,.5)}()}),He=i({},_i,{code:"EPSG:4326",projection:De,transformation:S(1/180,1,-1/180,.5)}),Fe=i({},ci,{projection:De,transformation:S(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,i){var e=i.lng-t.lng,n=i.lat-t.lat;return Math.sqrt(e*e+n*n)},infinite:!0});ci.Earth=_i,ci.EPSG3395=We,ci.EPSG3857=vi,ci.EPSG900913=yi,ci.EPSG4326=He,ci.Simple=Fe;var Ue=ui.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[n(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[n(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var i=t.target;if(i.hasLayer(this)){if(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents){var e=this.getEvents();i.on(e,this),this.once("remove",function(){i.off(e,this)},this)}this.onAdd(i),this.getAttribution&&i.attributionControl&&i.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),i.fire("layeradd",{layer:this})}}});Le.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var i=n(t);return this._layers[i]?this:(this._layers[i]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var i=n(t);return this._layers[i]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[i],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&n(t)in this._layers},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},_addLayers:function(t){for(var i=0,e=(t=t?ei(t)?t:[t]:[]).length;i<e;i++)this.addLayer(t[i])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[n(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var i=n(t);this._zoomBoundLayers[i]&&(delete this._zoomBoundLayers[i],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,i=-1/0,e=this._getZoomSpan();for(var n in this._zoomBoundLayers){var o=this._zoomBoundLayers[n].options;t=void 0===o.minZoom?t:Math.min(t,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom)}this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=t===1/0?void 0:t,e!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Ve=Ue.extend({initialize:function(t,i){l(this,i),this._layers={};var e,n;if(t)for(e=0,n=t.length;e<n;e++)this.addLayer(t[e])},addLayer:function(t){var i=this.getLayerId(t);return this._layers[i]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var i=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[i]&&this._map.removeLayer(this._layers[i]),delete this._layers[i],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var i,e,n=Array.prototype.slice.call(arguments,1);for(i in this._layers)(e=this._layers[i])[t]&&e[t].apply(e,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return n(t)}}),qe=Ve.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Ve.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),Ve.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new T;for(var i in this._layers){var e=this._layers[i];t.extend(e.getBounds?e.getBounds():e.getLatLng())}return t}}),Ge=v.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){l(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,i){var e=this._getIconUrl(t);if(!e){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n=this._createImg(e,i&&"IMG"===i.tagName?i:null);return this._setIconStyles(n,t),n},_setIconStyles:function(t,i){var e=this.options,n=e[i+"Size"];"number"==typeof n&&(n=[n,n]);var o=w(n),s=w("shadow"===i&&e.shadowAnchor||e.iconAnchor||o&&o.divideBy(2,!0));t.className="leaflet-marker-"+i+" "+(e.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),o&&(t.style.width=o.x+"px",t.style.height=o.y+"px")},_createImg:function(t,i){return i=i||document.createElement("img"),i.src=t,i},_getIconUrl:function(t){return Ki&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),Ke=Ge.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return Ke.imagePath||(Ke.imagePath=this._detectIconPath()),(this.options.imagePath||Ke.imagePath)+Ge.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ht("div","leaflet-default-icon-path",document.body),i=at(t,"background-image")||at(t,"backgroundImage");return document.body.removeChild(t),i=null===i||0!==i.indexOf("url")?"":i.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Ye=Ze.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Be(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),pt(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&mt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var i=this._marker,e=i._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=L.DomUtil.getPosition(i._icon),r=e.getPixelBounds(),a=e.getPixelOrigin(),h=b(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));if(!h.contains(s)){var u=w((Math.max(h.max.x,s.x)-h.max.x)/(r.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(r.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(r.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(r.min.y-h.min.y)).multiplyBy(n);e.panBy(u,{animate:!1}),this._draggable._newPos._add(u),this._draggable._startPos._add(u),L.DomUtil.setPosition(i._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=f(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(g(this._panRequest),this._panRequest=f(this._adjustPan.bind(this,t)))},_onDrag:function(t){var i=this._marker,e=i._shadow,n=Pt(i._icon),o=i._map.layerPointToLatLng(n);e&&Lt(e,n),i._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,i.fire("move",t).fire("drag",t)},_onDragEnd:function(t){g(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Xe=Ue.extend({options:{icon:new Ke,interactive:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1},initialize:function(t,i){l(this,i),this._latlng=C(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var i=this._latlng;return this._latlng=C(t),this.update(),this.fire("move",{oldLatLng:i,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,i="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),e=t.icon.createIcon(this._icon),n=!1;e!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(e.title=t.title),"IMG"===e.tagName&&(e.alt=t.alt||"")),pt(e,i),t.keyboard&&(e.tabIndex="0"),this._icon=e,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var o=t.icon.createShadow(this._shadow),s=!1;o!==this._shadow&&(this._removeShadow(),s=!0),o&&(pt(o,i),o.alt=""),this._shadow=o,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),ut(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ut(this._shadow),this._shadow=null},_setPos:function(t){Lt(this._icon,t),this._shadow&&Lt(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(i)},_initInteraction:function(){if(this.options.interactive&&(pt(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Ye)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Ye(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;vt(this._icon,t),this._shadow&&vt(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),Je=Ue.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return l(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),$e=Je.extend({options:{fill:!0,radius:10},initialize:function(t,i){l(this,i),this._latlng=C(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=C(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var i=t&&t.radius||this._radius;return Je.prototype.setStyle.call(this,t),this.setRadius(i),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,i=this._radiusY||t,e=this._clickTolerance(),n=[t+e,i+e];this._pxBounds=new P(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),Qe=$e.extend({initialize:function(t,e,n){if("number"==typeof e&&(e=i({},n,{radius:e})),l(this,e),this._latlng=C(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new T(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Je.prototype.setStyle,_project:function(){var t=this._latlng.lng,i=this._latlng.lat,e=this._map,n=e.options.crs;if(n.distance===_i.distance){var o=Math.PI/180,s=this._mRadius/_i.R/o,r=e.project([i+s,t]),a=e.project([i-s,t]),h=r.add(a).divideBy(2),u=e.unproject(h).lat,l=Math.acos((Math.cos(s*o)-Math.sin(i*o)*Math.sin(u*o))/(Math.cos(i*o)*Math.cos(u*o)))/o;(isNaN(l)||0===l)&&(l=s/Math.cos(Math.PI/180*i)),this._point=h.subtract(e.getPixelOrigin()),this._radius=isNaN(l)?0:h.x-e.project([u,t-l]).x,this._radiusY=h.y-r.y}else{var c=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=e.latLngToLayerPoint(this._latlng),this._radius=this._point.x-e.latLngToLayerPoint(c).x}this._updateBounds()}}),tn=Je.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,i){l(this,i),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var i,e,n=1/0,o=null,s=Rt,r=0,a=this._parts.length;r<a;r++)for(var h=this._parts[r],u=1,l=h.length;u<l;u++){var c=s(t,i=h[u-1],e=h[u],!0);c<n&&(n=c,o=s(t,i,e))}return o&&(o.distance=Math.sqrt(n)),o},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,i,e,n,o,s,r,a=this._rings[0],h=a.length;if(!h)return null;for(t=0,i=0;t<h-1;t++)i+=a[t].distanceTo(a[t+1])/2;if(0===i)return this._map.layerPointToLatLng(a[0]);for(t=0,n=0;t<h-1;t++)if(o=a[t],s=a[t+1],e=o.distanceTo(s),(n+=e)>i)return r=(n-i)/e,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,i){return i=i||this._defaultShape(),t=C(t),i.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new T,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return Dt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var i=[],e=Dt(t),n=0,o=t.length;n<o;n++)e?(i[n]=C(t[n]),this._bounds.extend(i[n])):i[n]=this._convertLatLngs(t[n]);return i},_project:function(){var t=new P;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var i=this._clickTolerance(),e=new x(i,i);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(e),t.max._add(e),this._pxBounds=t)},_projectLatlngs:function(t,i,e){var n,o,s=t[0]instanceof M,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),e.extend(o[n]);i.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],i,e)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var i,e,n,o,s,r,a,h=this._parts;for(i=0,n=0,o=this._rings.length;i<o;i++)for(e=0,s=(a=this._rings[i]).length;e<s-1;e++)(r=At(a[e],a[e+1],t,e,!0))&&(h[n]=h[n]||[],h[n].push(r[0]),r[1]===a[e+1]&&e!==s-2||(h[n].push(r[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,i=this.options.smoothFactor,e=0,n=t.length;e<n;e++)t[e]=Ct(t[e],i)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,i){var e,n,o,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(e=0,s=this._parts.length;e<s;e++)for(n=0,o=(r=(a=this._parts[e]).length)-1;n<r;o=n++)if((i||0!==n)&&Zt(t,a[o],a[n])<=h)return!0;return!1}});tn._flat=Nt;var en=tn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,i,e,n,o,s,r,a,h,u=this._rings[0],l=u.length;if(!l)return null;for(s=r=a=0,t=0,i=l-1;t<l;i=t++)e=u[t],n=u[i],o=e.y*n.x-n.y*e.x,r+=(e.x+n.x)*o,a+=(e.y+n.y)*o,s+=3*o;return h=0===s?u[0]:[r/s,a/s],this._map.layerPointToLatLng(h)},_convertLatLngs:function(t){var i=tn.prototype._convertLatLngs.call(this,t),e=i.length;return e>=2&&i[0]instanceof M&&i[0].equals(i[e-1])&&i.pop(),i},_setLatLngs:function(t){tn.prototype._setLatLngs.call(this,t),Dt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Dt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,e=new x(i,i);if(t=new P(t.min.subtract(e),t.max.add(e)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;o<s;o++)(n=jt(this._rings[o],t,!0)).length&&this._parts.push(n)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var i,e,n,o,s,r,a,h,u=!1;if(!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(i=this._parts[o]).length)-1;s<h;r=s++)e=i[s],n=i[r],e.y>t.y!=n.y>t.y&&t.x<(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||tn.prototype._containsPoint.call(this,t,!0)}}),nn=qe.extend({initialize:function(t,i){l(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=ei(t)?t:t.features;if(o){for(i=0,e=o.length;i<e;i++)((n=o[i]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=Wt(t,s);return r?(r.feature=Gt(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=i({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(i){this._setLayerStyle(i,t)},this)},_setLayerStyle:function(t,i){"function"==typeof i&&(i=i(t.feature)),t.setStyle&&t.setStyle(i)}}),on={toGeoJSON:function(t){return qt(this,{type:"Point",coordinates:Ut(this.getLatLng(),t)})}};Xe.include(on),Qe.include(on),$e.include(on),tn.include({toGeoJSON:function(t){var i=!Dt(this._latlngs),e=Vt(this._latlngs,i?1:0,!1,t);return qt(this,{type:(i?"Multi":"")+"LineString",coordinates:e})}}),en.include({toGeoJSON:function(t){var i=!Dt(this._latlngs),e=i&&!Dt(this._latlngs[0]),n=Vt(this._latlngs,e?2:i?1:0,!0,t);return i||(n=[n]),qt(this,{type:(e?"Multi":"")+"Polygon",coordinates:n})}}),Ve.include({toMultiPoint:function(t){var i=[];return this.eachLayer(function(e){i.push(e.toGeoJSON(t).geometry.coordinates)}),qt(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(t){var i=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===i)return this.toMultiPoint(t);var e="GeometryCollection"===i,n=[];return this.eachLayer(function(i){if(i.toGeoJSON){var o=i.toGeoJSON(t);if(e)n.push(o.geometry);else{var s=Gt(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}}),e?qt(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var sn=Kt,rn=Ue.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,i,e){this._url=t,this._bounds=z(i),l(this,e)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(pt(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ut(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ct(this._image),this},bringToBack:function(){return this._map&&_t(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,i=this._image=t?this._url:ht("img");pt(i,"leaflet-image-layer"),this._zoomAnimated&&pt(i,"leaflet-zoom-animated"),this.options.className&&pt(i,this.options.className),i.onselectstart=r,i.onmousemove=r,i.onload=e(this.fire,this,"load"),i.onerror=e(this._overlayOnError,this,"error"),this.options.crossOrigin&&(i.crossOrigin=""),this.options.zIndex&&this._updateZIndex(),t?this._url=i.src:(i.src=this._url,i.alt=this.options.alt)},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),e=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;wt(this._image,e,i)},_reset:function(){var t=this._image,i=new P(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),e=i.getSize();Lt(t,i.min),t.style.width=e.x+"px",t.style.height=e.y+"px"},_updateOpacity:function(){vt(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),an=rn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,i=this._image=t?this._url:ht("video");if(pt(i,"leaflet-image-layer"),this._zoomAnimated&&pt(i,"leaflet-zoom-animated"),i.onselectstart=r,i.onmousemove=r,i.onloadeddata=e(this.fire,this,"load"),t){for(var n=i.getElementsByTagName("source"),o=[],s=0;s<n.length;s++)o.push(n[s].src);this._url=n.length>0?o:[i.src]}else{ei(this._url)||(this._url=[this._url]),i.autoplay=!!this.options.autoplay,i.loop=!!this.options.loop;for(var a=0;a<this._url.length;a++){var h=ht("source");h.src=this._url[a],i.appendChild(h)}}}}),hn=Ue.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,i){l(this,t),this._source=i},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&vt(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&vt(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(vt(this._container,0),this._removeTimeout=setTimeout(e(ut,void 0,this._container),200)):ut(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=C(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ct(this._container),this},bringToBack:function(){return this._map&&_t(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,i="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof i)t.innerHTML=i;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(i)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),i=w(this.options.offset),e=this._getAnchor();this._zoomAnimated?Lt(this._container,t.add(e)):i=i.add(t).add(e);var n=this._containerBottom=-i.y,o=this._containerLeft=-Math.round(this._containerWidth/2)+i.x;this._container.style.bottom=n+"px",this._container.style.left=o+"px"}},_getAnchor:function(){return[0,0]}}),un=hn.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){hn.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Je||this._source.on("preclick",Y))},onRemove:function(t){hn.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Je||this._source.off("preclick",Y))},getEvents:function(){var t=hn.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",i=this._container=ht("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),e=this._wrapper=ht("div",t+"-content-wrapper",i);if(this._contentNode=ht("div",t+"-content",e),J(e),X(this._contentNode),V(e,"contextmenu",Y),this._tipContainer=ht("div",t+"-tip-container",i),this._tip=ht("div",t+"-tip",this._tipContainer),this.options.closeButton){var n=this._closeButton=ht("a",t+"-close-button",i);n.href="#close",n.innerHTML="&#215;",V(n,"click",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,i=t.style;i.width="",i.whiteSpace="nowrap";var e=t.offsetWidth;e=Math.min(e,this.options.maxWidth),e=Math.max(e,this.options.minWidth),i.width=e+1+"px",i.whiteSpace="",i.height="";var n=t.offsetHeight,o=this.options.maxHeight;o&&n>o?(i.height=o+"px",pt(t,"leaflet-popup-scrolled")):mt(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Lt(this._container,i.add(e))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,i=parseInt(at(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+i,n=this._containerWidth,o=new x(this._containerLeft,-e-this._containerBottom);o._add(Pt(this._container));var s=t.layerPointToContainerPoint(o),r=w(this.options.autoPanPadding),a=w(this.options.autoPanPaddingTopLeft||r),h=w(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),l=0,c=0;s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),Q(t)},_getAnchor:function(){return w(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Le.mergeOptions({closePopupOnClick:!0}),Le.include({openPopup:function(t,i,e){return t instanceof un||(t=new un(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Ue.include({bindPopup:function(t,i){return t instanceof un?(l(t,i),this._popup=t,t._source=this):(this._popup&&!i||(this._popup=new un(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){if(t instanceof Ue||(i=t,t=this),t instanceof qe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(Q(t),i instanceof Je?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var ln=hn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){hn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){hn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=hn.prototype.getEvents.call(this);return Vi&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ht("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i=this._map,e=this._container,n=i.latLngToContainerPoint(i.getCenter()),o=i.layerPointToContainerPoint(t),s=this.options.direction,r=e.offsetWidth,a=e.offsetHeight,h=w(this.options.offset),u=this._getAnchor();"top"===s?t=t.add(w(-r/2+h.x,-a+h.y+u.y,!0)):"bottom"===s?t=t.subtract(w(r/2-h.x,-h.y,!0)):"center"===s?t=t.subtract(w(r/2+h.x,a/2-u.y+h.y,!0)):"right"===s||"auto"===s&&o.x<n.x?(s="right",t=t.add(w(h.x+u.x,u.y-a/2+h.y,!0))):(s="left",t=t.subtract(w(r+u.x-h.x,a/2-u.y-h.y,!0))),mt(e,"leaflet-tooltip-right"),mt(e,"leaflet-tooltip-left"),mt(e,"leaflet-tooltip-top"),mt(e,"leaflet-tooltip-bottom"),pt(e,"leaflet-tooltip-"+s),Lt(e,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&vt(this._container,t)},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(i)},_getAnchor:function(){return w(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Le.include({openTooltip:function(t,i,e){return t instanceof ln||(t=new ln(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ue.include({bindTooltip:function(t,i){return t instanceof ln?(l(t,i),this._tooltip=t,t._source=this):(this._tooltip&&!i||(this._tooltip=new ln(i,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var i=t?"off":"on",e={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?e.add=this._openTooltip:(e.mouseover=this._openTooltip,e.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(e.mousemove=this._moveTooltip),Vi&&(e.click=this._openTooltip)),this[i](e),this._tooltipHandlersAdded=!t}},openTooltip:function(t,i){if(t instanceof Ue||(i=t,t=this),t instanceof qe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,i),this._tooltip.options.interactive&&this._tooltip._container&&(pt(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(mt(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){var i=t.layer||t.target;this._tooltip&&this._map&&this.openTooltip(i,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var i,e,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(i=this._map.mouseEventToContainerPoint(t.originalEvent),e=this._map.containerPointToLayerPoint(i),n=this._map.layerPointToLatLng(e)),this._tooltip.setLatLng(n)}});var cn=Ge.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var i=t&&"DIV"===t.tagName?t:document.createElement("div"),e=this.options;if(i.innerHTML=!1!==e.html?e.html:"",e.bgPos){var n=w(e.bgPos);i.style.backgroundPosition=-n.x+"px "+-n.y+"px"}return this._setIconStyles(i,"icon"),i},createShadow:function(){return null}});Ge.Default=Ke;var _n=Ue.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ji,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){l(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),ut(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ct(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(_t(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=o(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof x?t:new x(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var i,e=this.getPane().children,n=-t(-1/0,1/0),o=0,s=e.length;o<s;o++)i=e[o].style.zIndex,e[o]!==this._container&&i&&(n=t(n,+i));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Li){vt(this._container,this.options.opacity);var t=+new Date,i=!1,e=!1;for(var n in this._tiles){var o=this._tiles[n];if(o.current&&o.loaded){var s=Math.min(1,(t-o.loaded)/200);vt(o.el,s),s<1?i=!0:(o.active?e=!0:this._onOpaqueTile(o),o.active=!0)}}e&&!this._noPrune&&this._pruneTiles(),i&&(g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this))}},_onOpaqueTile:r,_initContainer:function(){this._container||(this._container=ht("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,i=this.options.maxZoom;if(void 0!==t){for(var e in this._levels)this._levels[e].el.children.length||e===t?(this._levels[e].el.style.zIndex=i-Math.abs(t-e),this._onUpdateLevel(e)):(ut(this._levels[e].el),this._removeTilesAtZoom(e),this._onRemoveLevel(e),delete this._levels[e]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=ht("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=i,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),n.el.offsetWidth,this._onCreateLevel(n)),this._level=n,n}},_onUpdateLevel:r,_onRemoveLevel:r,_onCreateLevel:r,_pruneTiles:function(){if(this._map){var t,i,e=this._map.getZoom();if(e>this.options.maxZoom||e<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)if((i=this._tiles[t]).current&&!i.active){var n=i.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var i in this._tiles)this._tiles[i].coords.z===t&&this._removeTile(i)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)ut(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,i,e,n){var o=Math.floor(t/2),s=Math.floor(i/2),r=e-1,a=new x(+o,+s);a.z=+r;var h=this._tileCoordsToKey(a),u=this._tiles[h];return u&&u.active?(u.retain=!0,!0):(u&&u.loaded&&(u.retain=!0),r>n&&this._retainParent(o,s,r,n))},_retainChildren:function(t,i,e,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*i;s<2*i+2;s++){var r=new x(o,s);r.z=e+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),e+1<n&&this._retainChildren(o,s,e+1,n))}},_resetView:function(t){var i=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),i,i)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var i=this.options;return void 0!==i.minNativeZoom&&t<i.minNativeZoom?i.minNativeZoom:void 0!==i.maxNativeZoom&&i.maxNativeZoom<t?i.maxNativeZoom:t},_setView:function(t,i,e,n){var o=this._clampZoom(Math.round(i));(void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom)&&(o=void 0);var s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),e||this._pruneTiles(),this._noPrune=!!e),this._setZoomTransforms(t,i)},_setZoomTransforms:function(t,i){for(var e in this._levels)this._setZoomTransform(this._levels[e],t,i)},_setZoomTransform:function(t,i,e){var n=this._map.getZoomScale(e,t.zoom),o=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(i,e)).round();Ni?wt(t.el,o,n):Lt(t.el,o)},_resetGrid:function(){var t=this._map,i=t.options.crs,e=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=i.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,i.wrapLng[0]],n).x/e.x),Math.ceil(t.project([0,i.wrapLng[1]],n).x/e.y)],this._wrapY=i.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([i.wrapLat[0],0],n).y/e.x),Math.ceil(t.project([i.wrapLat[1],0],n).y/e.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var i=this._map,e=i._animatingZoom?Math.max(i._animateToZoom,i.getZoom()):i.getZoom(),n=i.getZoomScale(e,this._tileZoom),o=i.project(t,this._tileZoom).floor(),s=i.getSize().divideBy(2*n);return new P(o.subtract(s),o.add(s))},_update:function(t){var i=this._map;if(i){var e=this._clampZoom(i.getZoom());if(void 0===t&&(t=i.getCenter()),void 0!==this._tileZoom){var n=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(n),s=o.getCenter(),r=[],a=this.options.keepBuffer,h=new P(o.getBottomLeft().subtract([a,-a]),o.getTopRight().add([a,-a]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var u in this._tiles){var l=this._tiles[u].coords;l.z===this._tileZoom&&h.contains(new x(l.x,l.y))||(this._tiles[u].current=!1)}if(Math.abs(e-this._tileZoom)>1)this._setView(t,e);else{for(var c=o.min.y;c<=o.max.y;c++)for(var _=o.min.x;_<=o.max.x;_++){var d=new x(_,c);if(d.z=this._tileZoom,this._isValidTile(d)){var p=this._tiles[this._tileCoordsToKey(d)];p?p.current=!0:r.push(d)}}if(r.sort(function(t,i){return t.distanceTo(s)-i.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var m=document.createDocumentFragment();for(_=0;_<r.length;_++)this._addTile(r[_],m);this._level.el.appendChild(m)}}}}},_isValidTile:function(t){var i=this._map.options.crs;if(!i.infinite){var e=this._globalTileRange;if(!i.wrapLng&&(t.x<e.min.x||t.x>e.max.x)||!i.wrapLat&&(t.y<e.min.y||t.y>e.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e);return[i.unproject(n,t.z),i.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),e=new T(i[0],i[1]);return this.options.noWrap||(e=this._map.wrapLatLngBounds(e)),e},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),e=new x(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(Ci||i.el.setAttribute("src",ni),ut(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){pt(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=r,t.onmousemove=r,Li&&this.options.opacity<1&&vt(t,this.options.opacity),Ti&&!zi&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var n=this._getTilePos(t),o=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),e(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&f(e(this._tileReady,this,t,null,s)),Lt(s,n),this._tiles[o]={el:s,coords:t,current:!0},i.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,i,n){if(this._map){i&&this.fire("tileerror",{error:i,tile:n,coords:t});var o=this._tileCoordsToKey(t);(n=this._tiles[o])&&(n.loaded=+new Date,this._map._fadeAnimated?(vt(n.el,0),g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),i||(pt(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Li||!this._map._fadeAnimated?f(this._pruneTiles,this):setTimeout(e(this._pruneTiles,this),250)))}},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new x(this._wrapX?s(t.x,this._wrapX):t.x,this._wrapY?s(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new P(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),dn=_n.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=l(this,i)).detectRetina&&Ki&&i.maxZoom>0&&(i.tileSize=Math.floor(i.tileSize/2),i.zoomReverse?(i.zoomOffset--,i.minZoom++):(i.zoomOffset++,i.maxZoom--),i.minZoom=Math.max(0,i.minZoom)),"string"==typeof i.subdomains&&(i.subdomains=i.subdomains.split("")),Ti||this.on("tileunload",this._onTileRemove)},setUrl:function(t,i){return this._url=t,i||this.redraw(),this},createTile:function(t,i){var n=document.createElement("img");return V(n,"load",e(this._tileOnLoad,this,i,n)),V(n,"error",e(this._tileOnError,this,i,n)),this.options.crossOrigin&&(n.crossOrigin=""),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ki?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return _(this._url,i(e,this.options))},_tileOnLoad:function(t,i){Li?setTimeout(e(t,this,null,i),0):t(null,i)},_tileOnError:function(t,i,e){var n=this.options.errorTileUrl;n&&i.getAttribute("src")!==n&&(i.src=n),t(e,i)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,i=this.options.maxZoom,e=this.options.zoomReverse,n=this.options.zoomOffset;return e&&(t=i-t),t+n},_getSubdomain:function(t){var i=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var t,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=r,i.onerror=r,i.complete||(i.src=ni,ut(i),delete this._tiles[t]))}}),pn=dn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=l(this,e)).detectRetina&&Ki?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[i]=this._crs.code,dn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToNwSe(t),e=this._crs,n=b(e.project(i[0]),e.project(i[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===He?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=L.TileLayer.prototype.getTileUrl.call(this,t);return a+c(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});dn.WMS=pn,Yt.wms=function(t,i){return new pn(t,i)};var mn=Ue.extend({options:{padding:.1,tolerance:0},initialize:function(t){l(this,t),n(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&pt(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,i){var e=this._map.getZoomScale(i,this._zoom),n=Pt(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,i),r=this._map.project(t,i).subtract(s),a=o.multiplyBy(-e).add(n).add(o).subtract(r);Ni?wt(this._container,a,e):Lt(this._container,a)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,i=this._map.getSize(),e=this._map.containerPointToLayerPoint(i.multiplyBy(-t)).round();this._bounds=new P(e,e.add(i.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),fn=mn.extend({getEvents:function(){var t=mn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){mn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");V(t,"mousemove",o(this._onMouseMove,32,this),this),V(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),V(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){delete this._ctx,ut(this._container),q(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){this._redrawBounds=null;for(var t in this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},mn.prototype._update.call(this);var t=this._bounds,i=this._container,e=t.getSize(),n=Ki?2:1;Lt(i,t.min),i.width=n*e.x,i.height=n*e.y,i.style.width=e.x+"px",i.style.height=e.y+"px",Ki&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){mn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[n(t)]=t;var i=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=i),this._drawLast=i,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var i=t._order,e=i.next,n=i.prev;e?e.prev=n:this._drawLast=n,n?n.next=e:this._drawFirst=e,delete t._order,delete this._layers[L.stamp(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(t.options.dashArray){var i,e=t.options.dashArray.split(","),n=[];for(i=0;i<e.length;i++)n.push(Number(e[i]));t.options._dashArray=n}},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||f(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var i=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new P,this._redrawBounds.extend(t._pxBounds.min.subtract([i,i])),this._redrawBounds.extend(t._pxBounds.max.add([i,i]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var i=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,i.x,i.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,i=this._redrawBounds;if(this._ctx.save(),i){var e=i.getSize();this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,i){if(this._drawing){var e,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(this._drawnLayers[t._leaflet_id]=t,h.beginPath(),e=0;e<a;e++){for(n=0,o=r[e].length;n<o;n++)s=r[e][n],h[n?"lineTo":"moveTo"](s.x,s.y);i&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var i=t._point,e=this._ctx,n=Math.max(Math.round(t._radius),1),o=(Math.max(Math.round(t._radiusY),1)||n)/n;this._drawnLayers[t._leaflet_id]=t,1!==o&&(e.save(),e.scale(1,o)),e.beginPath(),e.arc(i.x,i.y/o,n,0,2*Math.PI,!1),1!==o&&e.restore(),this._fillStroke(e,t)}},_fillStroke:function(t,i){var e=i.options;e.fill&&(t.globalAlpha=e.fillOpacity,t.fillStyle=e.fillColor||e.color,t.fill(e.fillRule||"evenodd")),e.stroke&&0!==e.weight&&(t.setLineDash&&t.setLineDash(i.options&&i.options._dashArray||[]),t.globalAlpha=e.opacity,t.lineWidth=e.weight,t.strokeStyle=e.color,t.lineCap=e.lineCap,t.lineJoin=e.lineJoin,t.stroke())},_onClick:function(t){for(var i,e,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(n)&&!this._map._draggableMoved(i)&&(e=i);e&&(et(t),this._fireEvent([e],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var i=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,i)}},_handleMouseOut:function(t){var i=this._hoveredLayer;i&&(mt(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,i){for(var e,n,o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(i)&&(n=e);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(pt(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,i,e){this._map._fireDOMEvent(i,e||i.type,t)},_bringToFront:function(t){var i=t._order,e=i.next,n=i.prev;e&&(e.prev=n,n?n.next=e:e&&(this._drawFirst=e),i.prev=this._drawLast,this._drawLast.next=i,i.next=null,this._drawLast=i,this._requestRedraw(t))},_bringToBack:function(t){var i=t._order,e=i.next,n=i.prev;n&&(n.next=e,e?e.prev=n:n&&(this._drawLast=n),i.prev=null,i.next=this._drawFirst,this._drawFirst.prev=i,this._drawFirst=i,this._requestRedraw(t))}}),gn=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),vn={_initContainer:function(){this._container=ht("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(mn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=gn("shape");pt(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=gn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;ut(i),t.removeInteractiveTarget(i),delete this._layers[n(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i||(i=t._stroke=gn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=ei(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=n.lineCap.replace("butt","flat"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e||(e=t._fill=gn("fill")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+e+","+n+" 0,23592600")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){ct(t._container)},_bringToBack:function(t){_t(t._container)}},yn=Ji?gn:E,xn=mn.extend({getEvents:function(){var t=mn.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=yn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=yn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ut(this._container),q(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){mn.prototype._update.call(this);var t=this._bounds,i=t.getSize(),e=this._container;this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute("width",i.x),e.setAttribute("height",i.y)),Lt(e,t.min),e.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update")}},_initPath:function(t){var i=t._path=yn("path");t.options.className&&pt(i,t.options.className),t.options.interactive&&pt(i,"leaflet-interactive"),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ut(t._path),t.removeInteractiveTarget(t._path),delete this._layers[n(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute("stroke",e.color),i.setAttribute("stroke-opacity",e.opacity),i.setAttribute("stroke-width",e.weight),i.setAttribute("stroke-linecap",e.lineCap),i.setAttribute("stroke-linejoin",e.lineJoin),e.dashArray?i.setAttribute("stroke-dasharray",e.dashArray):i.removeAttribute("stroke-dasharray"),e.dashOffset?i.setAttribute("stroke-dashoffset",e.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),e.fill?(i.setAttribute("fill",e.fillColor||e.color),i.setAttribute("fill-opacity",e.fillOpacity),i.setAttribute("fill-rule",e.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,k(t._parts,i))},_updateCircle:function(t){var i=t._point,e=Math.max(Math.round(t._radius),1),n="a"+e+","+(Math.max(Math.round(t._radiusY),1)||e)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(i.x-e)+","+i.y+n+2*e+",0 "+n+2*-e+",0 ";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){ct(t._path)},_bringToBack:function(t){_t(t._path)}});Ji&&xn.include(vn),Le.include({getRenderer:function(t){var i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return i||(i=this._renderer=this.options.preferCanvas&&Xt()||Jt()),this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=xn&&Jt({pane:t})||fn&&Xt({pane:t}),this._paneRenderers[t]=i),i}});var wn=en.extend({initialize:function(t,i){en.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=z(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});xn.create=yn,xn.pointsToPath=k,nn.geometryToLayer=Wt,nn.coordsToLatLng=Ht,nn.coordsToLatLngs=Ft,nn.latLngToCoords=Ut,nn.latLngsToCoords=Vt,nn.getFeature=qt,nn.asFeature=Gt,Le.mergeOptions({boxZoom:!0});var Ln=Ze.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){V(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){q(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ut(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),mi(),bt(),this._startPoint=this._map.mouseEventToContainerPoint(t),V(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ht("div","leaflet-zoom-box",this._container),pt(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new P(this._point,this._startPoint),e=i.getSize();Lt(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(ut(this._box),mt(this._container,"leaflet-crosshair")),fi(),Tt(),q(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(e(this._resetState,this),0);var i=new T(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});Le.addInitHook("addHandler","boxZoom",Ln),Le.mergeOptions({doubleClickZoom:!0});var Pn=Ze.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;"center"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});Le.addInitHook("addHandler","doubleClickZoom",Pn),Le.mergeOptions({dragging:!0,inertia:!zi,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var bn=Ze.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new Be(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}pt(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mt(this._map._container,"leaflet-grab"),mt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=z(this._map.options.maxBounds);this._offsetLimit=b(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(e),this._times.push(i),this._prunePositions(i)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,i){return t-(t-i)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),i=this._offsetLimit;t.x<i.min.x&&(t.x=this._viscousLimit(t.x,i.min.x)),t.y<i.min.y&&(t.y=this._viscousLimit(t.y,i.min.y)),t.x>i.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)<Math.abs(s+e)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var i=this._map,e=i.options,n=!e.inertia||this._times.length<2;if(i.fire("dragend",t),n)i.fire("moveend");else{this._prunePositions(+new Date);var o=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,r=e.easeLinearity,a=o.multiplyBy(r/s),h=a.distanceTo([0,0]),u=Math.min(e.inertiaMaxSpeed,h),l=a.multiplyBy(u/h),c=u/(e.inertiaDeceleration*r),_=l.multiplyBy(-c/2).round();_.x||_.y?(_=i._limitOffset(_,i.options.maxBounds),f(function(){i.panBy(_,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})})):i.fire("moveend")}}});Le.addInitHook("addHandler","dragging",bn),Le.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Tn=Ze.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),V(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),q(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,i=document.documentElement,e=t.scrollTop||i.scrollTop,n=t.scrollLeft||i.scrollLeft;this._map._container.focus(),window.scrollTo(n,e)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var i,e,n=this._panKeys={},o=this.keyCodes;for(i=0,e=o.left.length;i<e;i++)n[o.left[i]]=[-1*t,0];for(i=0,e=o.right.length;i<e;i++)n[o.right[i]]=[t,0];for(i=0,e=o.down.length;i<e;i++)n[o.down[i]]=[0,t];for(i=0,e=o.up.length;i<e;i++)n[o.up[i]]=[0,-1*t]},_setZoomDelta:function(t){var i,e,n=this._zoomKeys={},o=this.keyCodes;for(i=0,e=o.zoomIn.length;i<e;i++)n[o.zoomIn[i]]=t;for(i=0,e=o.zoomOut.length;i<e;i++)n[o.zoomOut[i]]=-t},_addHooks:function(){V(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){q(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var i,e=t.keyCode,n=this._map;if(e in this._panKeys){if(n._panAnim&&n._panAnim._inProgress)return;i=this._panKeys[e],t.shiftKey&&(i=w(i).multiplyBy(3)),n.panBy(i),n.options.maxBounds&&n.panInsideBounds(n.options.maxBounds)}else if(e in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[e]);else{if(27!==e||!n._popup||!n._popup.options.closeOnEscapeKey)return;n.closePopup()}Q(t)}}});Le.addInitHook("addHandler","keyboard",Tn),Le.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var zn=Ze.extend({addHooks:function(){V(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){q(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var i=it(t),n=this._map.options.wheelDebounceTime;this._delta+=i,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var o=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(e(this._performZoom,this),o),Q(t)},_performZoom:function(){var t=this._map,i=t.getZoom(),e=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=e?Math.ceil(o/e)*e:o,r=t._limitZoom(i+(this._delta>0?s:-s))-i;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(i+r):t.setZoomAround(this._lastMousePos,i+r))}});Le.addInitHook("addHandler","scrollWheelZoom",zn),Le.mergeOptions({tap:!0,tapTolerance:15});var Mn=Ze.extend({addHooks:function(){V(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){q(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if($(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new x(i.clientX,i.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&pt(n,"leaflet-active"),this._holdTimeout=setTimeout(e(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),this._simulateEvent("mousedown",i),V(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),q(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],e=i.target;e&&e.tagName&&"a"===e.tagName.toLowerCase()&&mt(e,"leaflet-active"),this._simulateEvent("mouseup",i),this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var i=t.touches[0];this._newPos=new x(i.clientX,i.clientY),this._simulateEvent("mousemove",i)},_simulateEvent:function(t,i){var e=document.createEvent("MouseEvents");e._simulated=!0,i.target._simulatedClick=!0,e.initMouseEvent(t,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),i.target.dispatchEvent(e)}});Vi&&!Ui&&Le.addInitHook("addHandler","tap",Mn),Le.mergeOptions({touchZoom:Vi&&!zi,bounceAtZoomLimits:!0});var Cn=Ze.extend({addHooks:function(){pt(this._map._container,"leaflet-touch-zoom"),V(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){mt(this._map._container,"leaflet-touch-zoom"),q(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var e=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),"center"!==i.options.touchZoom&&(this._pinchStartLatLng=i.containerPointToLatLng(e.add(n)._divideBy(2))),this._startDist=e.distanceTo(n),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),V(document,"touchmove",this._onTouchMove,this),V(document,"touchend",this._onTouchEnd,this),$(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var i=this._map,n=i.mouseEventToContainerPoint(t.touches[0]),o=i.mouseEventToContainerPoint(t.touches[1]),s=n.distanceTo(o)/this._startDist;if(this._zoom=i.getScaleZoom(s,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoom<i.getMinZoom()&&s<1||this._zoom>i.getMaxZoom()&&s>1)&&(this._zoom=i._limitZoom(this._zoom)),"center"===i.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=n._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(i._moveStart(!0,!1),this._moved=!0),g(this._animRequest);var a=e(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=f(a,this,!0),$(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,g(this._animRequest),q(document,"touchmove",this._onTouchMove),q(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});Le.addInitHook("addHandler","touchZoom",Cn),Le.BoxZoom=Ln,Le.DoubleClickZoom=Pn,Le.Drag=bn,Le.Keyboard=Tn,Le.ScrollWheelZoom=zn,Le.Tap=Mn,Le.TouchZoom=Cn;var Zn=window.L;window.L=t,Object.freeze=$t,t.version="1.3.1+HEAD.ba6f97f",t.noConflict=function(){return window.L=Zn,this},t.Control=Pe,t.control=be,t.Browser=$i,t.Evented=ui,t.Mixin=Ee,t.Util=ai,t.Class=v,t.Handler=Ze,t.extend=i,t.bind=e,t.stamp=n,t.setOptions=l,t.DomEvent=de,t.DomUtil=xe,t.PosAnimation=we,t.Draggable=Be,t.LineUtil=Oe,t.PolyUtil=Re,t.Point=x,t.point=w,t.Bounds=P,t.bounds=b,t.Transformation=Z,t.transformation=S,t.Projection=je,t.LatLng=M,t.latLng=C,t.LatLngBounds=T,t.latLngBounds=z,t.CRS=ci,t.GeoJSON=nn,t.geoJSON=Kt,t.geoJson=sn,t.Layer=Ue,t.LayerGroup=Ve,t.layerGroup=function(t,i){return new Ve(t,i)},t.FeatureGroup=qe,t.featureGroup=function(t){return new qe(t)},t.ImageOverlay=rn,t.imageOverlay=function(t,i,e){return new rn(t,i,e)},t.VideoOverlay=an,t.videoOverlay=function(t,i,e){return new an(t,i,e)},t.DivOverlay=hn,t.Popup=un,t.popup=function(t,i){return new un(t,i)},t.Tooltip=ln,t.tooltip=function(t,i){return new ln(t,i)},t.Icon=Ge,t.icon=function(t){return new Ge(t)},t.DivIcon=cn,t.divIcon=function(t){return new cn(t)},t.Marker=Xe,t.marker=function(t,i){return new Xe(t,i)},t.TileLayer=dn,t.tileLayer=Yt,t.GridLayer=_n,t.gridLayer=function(t){return new _n(t)},t.SVG=xn,t.svg=Jt,t.Renderer=mn,t.Canvas=fn,t.canvas=Xt,t.Path=Je,t.CircleMarker=$e,t.circleMarker=function(t,i){return new $e(t,i)},t.Circle=Qe,t.circle=function(t,i,e){return new Qe(t,i,e)},t.Polyline=tn,t.polyline=function(t,i){return new tn(t,i)},t.Polygon=en,t.polygon=function(t,i){return new en(t,i)},t.Rectangle=wn,t.rectangle=function(t,i){return new wn(t,i)},t.Map=Le,t.map=function(t,i){return new Le(t,i)}});</script>
<style type="text/css">
img.leaflet-tile {
padding: 0;
margin: 0;
border-radius: 0;
border: none;
}
.info {
padding: 6px 8px;
font: 14px/16px Arial, Helvetica, sans-serif;
background: white;
background: rgba(255,255,255,0.8);
box-shadow: 0 0 15px rgba(0,0,0,0.2);
border-radius: 5px;
}
.legend {
line-height: 18px;
color: #555;
}
.legend svg text {
fill: #555;
}
.legend svg line {
stroke: #555;
}
.legend i {
width: 18px;
height: 18px;
margin-right: 4px;
opacity: 0.7;
display: inline-block;
vertical-align: top;

zoom: 1;
*display: inline;
}
</style>
<script>!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):t.proj4=s()}(this,function(){"use strict";function k(t,s){if(t[s])return t[s];for(var i,a=Object.keys(t),h=s.toLowerCase().replace(H,""),e=-1;++e<a.length;)if((i=a[e]).toLowerCase().replace(H,"")===h)return t[i]}function e(t){if("string"!=typeof t)throw new Error("not a string");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=K}function h(t,s,i){Array.isArray(s)&&(i.unshift(s),s=null);var a=s?{}:t,h=i.reduce(function(t,s){return n(s,t),t},a);s&&(t[s]=h)}function n(t,s){if(Array.isArray(t)){var i,a=t.shift();if("PARAMETER"===a&&(a=t.shift()),1===t.length)return Array.isArray(t[0])?(s[a]={},void n(t[0],s[a])):void(s[a]=t[0]);if(t.length)if("TOWGS84"!==a){if("AXIS"===a)return a in s||(s[a]=[]),void s[a].push(t);switch(Array.isArray(a)||(s[a]={}),a){case"UNIT":case"PRIMEM":case"VERT_DATUM":return s[a]={name:t[0].toLowerCase(),convert:t[1]},void(3===t.length&&n(t[2],s[a]));case"SPHEROID":case"ELLIPSOID":return s[a]={name:t[0],a:t[1],rf:t[2]},void(4===t.length&&n(t[3],s[a]));case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":return t[0]=["name",t[0]],void h(s,a,t);default:for(i=-1;++i<t.length;)if(!Array.isArray(t[i]))return n(t,s[a]);return h(s,a,t)}}else s[a]=t;else s[a]=!0}else s[t]=!0}function r(t){return t*it}function o(e){function t(t){return t*(e.to_meter||1)}if("GEOGCS"===e.type?e.projName="longlat":"LOCAL_CS"===e.type?(e.projName="identity",e.local=!0):"object"==typeof e.PROJECTION?e.projName=Object.keys(e.PROJECTION)[0]:e.projName=e.PROJECTION,e.AXIS){for(var s="",i=0,a=e.AXIS.length;i<a;++i){var h=e.AXIS[i][0].toLowerCase();-1!==h.indexOf("north")?s+="n":-1!==h.indexOf("south")?s+="s":-1!==h.indexOf("east")?s+="e":-1!==h.indexOf("west")&&(s+="w")}2===s.length&&(s+="u"),3===s.length&&(e.axis=s)}e.UNIT&&(e.units=e.UNIT.name.toLowerCase(),"metre"===e.units&&(e.units="meter"),e.UNIT.convert&&("GEOGCS"===e.type?e.DATUM&&e.DATUM.SPHEROID&&(e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a):e.to_meter=e.UNIT.convert));var n=e.GEOGCS;"GEOGCS"===e.type&&(n=e),n&&(n.DATUM?e.datumCode=n.DATUM.name.toLowerCase():e.datumCode=n.name.toLowerCase(),"d_"===e.datumCode.slice(0,2)&&(e.datumCode=e.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==e.datumCode&&"new_zealand_1949"!==e.datumCode||(e.datumCode="nzgd49"),"wgs_1984"!==e.datumCode&&"world_geodetic_system_1984"!==e.datumCode||("Mercator_Auxiliary_Sphere"===e.PROJECTION&&(e.sphere=!0),e.datumCode="wgs84"),"_ferro"===e.datumCode.slice(-6)&&(e.datumCode=e.datumCode.slice(0,-6)),"_jakarta"===e.datumCode.slice(-8)&&(e.datumCode=e.datumCode.slice(0,-8)),~e.datumCode.indexOf("belge")&&(e.datumCode="rnb72"),n.DATUM&&n.DATUM.SPHEROID&&(e.ellps=n.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===e.ellps.toLowerCase().slice(0,13)&&(e.ellps="intl"),e.a=n.DATUM.SPHEROID.a,e.rf=parseFloat(n.DATUM.SPHEROID.rf,10)),n.DATUM&&n.DATUM.TOWGS84&&(e.datum_params=n.DATUM.TOWGS84),~e.datumCode.indexOf("osgb_1936")&&(e.datumCode="osgb36"),~e.datumCode.indexOf("osni_1952")&&(e.datumCode="osni52"),(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965"))&&(e.datumCode="ire65"),"ch1903+"===e.datumCode&&(e.datumCode="ch1903"),~e.datumCode.indexOf("israel")&&(e.datumCode="isr93")),e.b&&!isFinite(e.b)&&(e.b=e.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",r],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",r],["x0","false_easting",t],["y0","false_northing",t],["long0","central_meridian",r],["lat0","latitude_of_origin",r],["lat0","standard_parallel_1",r],["lat1","standard_parallel_1",r],["lat2","standard_parallel_2",r],["azimuth","Azimuth"],["alpha","azimuth",r],["srsCode","name"]].forEach(function(t){return s=e,a=(i=t)[0],h=i[1],void(!(a in s)&&h in s&&(s[a]=s[h],3===i.length&&(s[a]=i[2](s[a]))));var s,i,a,h}),e.long0||!e.longc||"Albers_Conic_Equal_Area"!==e.projName&&"Lambert_Azimuthal_Equal_Area"!==e.projName||(e.long0=e.longc),e.lat_ts||!e.lat1||"Stereographic_South_Pole"!==e.projName&&"Polar Stereographic (variant B)"!==e.projName||(e.lat0=r(0<e.lat1?90:-90),e.lat_ts=e.lat1)}function l(t){var s=this;if(2===arguments.length){var i=arguments[1];"string"==typeof i?"+"===i.charAt(0)?l[t]=J(arguments[1]):l[t]=at(arguments[1]):l[t]=i}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?l.apply(s,t):l(t)});if("string"==typeof t){if(t in l)return l[t]}else"EPSG"in t?l["EPSG:"+t.EPSG]=t:"ESRI"in t?l["ESRI:"+t.ESRI]=t:"IAU2000"in t?l["IAU2000:"+t.IAU2000]=t:console.log(t);return}}function E(t){if("string"!=typeof t)return t;if(t in l)return l[t];if(a=t,lt.some(function(t){return-1<a.indexOf(t)})){var s=at(t);if(function(t){var s=k(t,"authority");if(s){var i=k(s,"epsg");return i&&-1<Mt.indexOf(i)}}(s))return l["EPSG:3857"];var i=function(t){var s=k(t,"extension");if(s)return k(s,"proj4")}(s);return i?J(i):s}var a;return"+"===t[0]?J(t):void 0}function t(t){return t}function s(t,s){var i=mt.length;return t.names?((mt[i]=t).names.forEach(function(t){ft[t.toLowerCase()]=i}),this):(console.log(s),!0)}function q(t,s){if(!(this instanceof q))return new q(t);s=s||function(t){if(t)throw t};var i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w,C,P,S,N=E(t);"object"==typeof N&&(i=q.projections.get(N.projName))?(!N.datumCode||"none"===N.datumCode||(a=k(_t,N.datumCode))&&(N.datum_params=a.towgs84?a.towgs84.split(","):null,N.ellps=a.ellipse,N.datumName=a.datumName?a.datumName:N.datumCode),N.k0=N.k0||1,N.axis=N.axis||"enu",N.ellps=N.ellps||"wgs84",b=N.a,v=N.b,w=N.rf,C=N.ellps,P=N.sphere,b||(b=(S=(S=k(dt,C))||yt).a,v=S.b,w=S.rf),w&&!v&&(v=(1-1/w)*b),(0===w||Math.abs(b-v)<D)&&(P=!0,v=b),m=(h={a:b,b:v,rf:w,sphere:P}).a,p=h.b,d=N.R_A,x=((y=m*m)-(_=p*p))/y,g=0,d?(y=(m*=1-x*(R+x*(L+x*T)))*m,x=0):g=Math.sqrt(x),e={es:x,e:g,ep2:(y-_)/_},n=N.datum||(r=N.datumCode,o=N.datum_params,l=h.a,M=h.b,c=e.es,u=e.ep2,(f={}).datum_type=void 0===r||"none"===r?G:A,o&&(f.datum_params=o.map(parseFloat),0===f.datum_params[0]&&0===f.datum_params[1]&&0===f.datum_params[2]||(f.datum_type=I),3<f.datum_params.length&&(0===f.datum_params[3]&&0===f.datum_params[4]&&0===f.datum_params[5]&&0===f.datum_params[6]||(f.datum_type=O,f.datum_params[3]*=j,f.datum_params[4]*=j,f.datum_params[5]*=j,f.datum_params[6]=f.datum_params[6]/1e6+1))),f.a=l,f.b=M,f.es=c,f.ep2=u,f),ct(this,N),ct(this,i),this.a=h.a,this.b=h.b,this.rf=h.rf,this.sphere=h.sphere,this.es=e.es,this.e=e.e,this.ep2=e.ep2,this.datum=n,this.init(),s(null,this)):s(t)}function M(t,s,i){var a,h,e,n,r=t.x,o=t.y,l=t.z?t.z:0;if(o<-z&&-1.001*z<o)o=-z;else if(z<o&&o<1.001*z)o=z;else{if(o<-z)return{x:-1/0,y:-1/0,z:t.z};if(z<o)return{x:1/0,y:1/0,z:t.z}}return r>Math.PI&&(r-=2*Math.PI),h=Math.sin(o),n=Math.cos(o),e=h*h,{x:((a=i/Math.sqrt(1-s*e))+l)*n*Math.cos(r),y:(a+l)*n*Math.sin(r),z:(a*(1-s)+l)*h}}function c(t,s,i,a){var h,e,n,r,o,l,M,c,u,f,m,p,d,y=t.x,_=t.y,x=t.z?t.z:0,g=Math.sqrt(y*y+_*_),b=Math.sqrt(y*y+_*_+x*x);if(g/i<1e-12){if(p=0,b/i<1e-12)return d=-a,{x:t.x,y:t.y,z:t.z}}else p=Math.atan2(_,y);for(h=x/b,l=(e=g/b)*(1-s)*(n=1/Math.sqrt(1-s*(2-s)*e*e)),M=h*n,m=0;m++,r=s*(o=i/Math.sqrt(1-s*M*M))/(o+(d=g*l+x*M-o*(1-s*M*M))),f=(u=h*(n=1/Math.sqrt(1-r*(2-r)*e*e)))*l-(c=e*(1-r)*n)*M,l=c,M=u,1e-24<f*f&&m<30;);return{x:p,y:Math.atan(u/Math.abs(c)),z:d}}function u(t){return t===I||t===O}function i(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function f(t,s,i){var a,h,e;if(Array.isArray(i)&&(i=bt(i)),vt(i),t.datum&&s.datum&&(e=s,((h=t).datum.datum_type===I||h.datum.datum_type===O)&&"WGS84"!==e.datumCode||(e.datum.datum_type===I||e.datum.datum_type===O)&&"WGS84"!==h.datumCode)&&(i=f(t,a=new q("WGS84"),i),t=a),"enu"!==t.axis&&(i=gt(t,!1,i)),"longlat"===t.projName)i={x:i.x*N,y:i.y*N,z:i.z||0};else if(t.to_meter&&(i={x:i.x*t.to_meter,y:i.y*t.to_meter,z:i.z||0}),!(i=t.inverse(i)))return;return t.from_greenwich&&(i.x+=t.from_greenwich),i=xt(t.datum,s.datum,i),s.from_greenwich&&(i={x:i.x-s.from_greenwich,y:i.y,z:i.z||0}),"longlat"===s.projName?i={x:i.x*B,y:i.y*B,z:i.z||0}:(i=s.forward(i),s.to_meter&&(i={x:i.x/s.to_meter,y:i.y/s.to_meter,z:i.z||0})),"enu"!==s.axis?gt(s,!0,i):i}function m(s,i,a){var t,h,e;return Array.isArray(a)?(t=f(s,i,a)||{x:NaN,y:NaN},2<a.length?void 0!==s.name&&"geocent"===s.name||void 0!==i.name&&"geocent"===i.name?"number"==typeof t.z?[t.x,t.y,t.z].concat(a.splice(3)):[t.x,t.y,a[2]].concat(a.splice(3)):[t.x,t.y].concat(a.splice(2)):[t.x,t.y]):(h=f(s,i,a),2===(e=Object.keys(a)).length||e.forEach(function(t){if(void 0!==s.name&&"geocent"===s.name||void 0!==i.name&&"geocent"===i.name){if("x"===t||"y"===t||"z"===t)return}else if("x"===t||"y"===t)return;h[t]=a[t]}),h)}function p(t){return t instanceof q?t:t.oProj?t.oProj:q(t)}function a(s,i,t){s=p(s);var a,h=!1;return void 0===i?(i=s,s=wt,h=!0):void 0===i.x&&!Array.isArray(i)||(t=i,i=s,s=wt,h=!0),i=p(i),t?m(s,i,t):(a={forward:function(t){return m(s,i,t)},inverse:function(t){return m(i,s,t)}},h&&(a.oProj=i),a)}function d(t,s){return s=s||5,i=function(t){var s,i,a,h,e,n,r=t.lat,o=t.lon,l=_(r),M=_(o);n=Math.floor((o+180)/6)+1,180===o&&(n=60),56<=r&&r<64&&3<=o&&o<12&&(n=32),72<=r&&r<84&&(0<=o&&o<9?n=31:9<=o&&o<21?n=33:21<=o&&o<33?n=35:33<=o&&o<42&&(n=37)),e=_(6*(n-1)-180+3),s=6378137/Math.sqrt(1-.00669438*Math.sin(l)*Math.sin(l)),i=Math.tan(l)*Math.tan(l),a=.006739496752268451*Math.cos(l)*Math.cos(l);var c=.9996*s*((h=Math.cos(l)*(M-e))+(1-i+a)*h*h*h/6+(5-18*i+i*i+72*a-.39089081163157013)*h*h*h*h*h/120)+5e5,u=.9996*(6378137*(.9983242984503243*l-.002514607064228144*Math.sin(2*l)+2639046602129982e-21*Math.sin(4*l)-3.418046101696858e-9*Math.sin(6*l))+s*Math.tan(l)*(h*h/2+(5-i+9*a+4*a*a)*h*h*h*h/24+(61-58*i+i*i+600*a-2.2240339282485886)*h*h*h*h*h*h/720));return r<0&&(u+=1e7),{northing:Math.round(u),easting:Math.round(c),zoneNumber:n,zoneLetter:function(t){var s="Z";return t<=84&&72<=t?s="X":t<72&&64<=t?s="W":t<64&&56<=t?s="V":t<56&&48<=t?s="U":t<48&&40<=t?s="T":t<40&&32<=t?s="S":t<32&&24<=t?s="R":t<24&&16<=t?s="Q":t<16&&8<=t?s="P":t<8&&0<=t?s="N":t<0&&-8<=t?s="M":t<-8&&-16<=t?s="L":t<-16&&-24<=t?s="K":t<-24&&-32<=t?s="J":t<-32&&-40<=t?s="H":t<-40&&-48<=t?s="G":t<-48&&-56<=t?s="F":t<-56&&-64<=t?s="E":t<-64&&-72<=t?s="D":t<-72&&-80<=t&&(s="C"),s}(r)}}({lat:t[1],lon:t[0]}),a=s,h="00000"+i.easting,e="00000"+i.northing,i.zoneNumber+i.zoneLetter+function(t,s,i){var a=b(i);return function(t,s,i){var a=i-1,h=Pt.charCodeAt(a),e=St.charCodeAt(a),n=h+t-1,r=e+s,o=!1;return It<n&&(n=n-It+Nt-1,o=!0),(n===kt||h<kt&&kt<n||(kt<n||h<kt)&&o)&&n++,(n===Et||h<Et&&Et<n||(Et<n||h<Et)&&o)&&++n===kt&&n++,It<n&&(n=n-It+Nt-1),o=qt<r&&(r=r-qt+Nt-1,!0),(r===kt||e<kt&&kt<r||(kt<r||e<kt)&&o)&&r++,(r===Et||e<Et&&Et<r||(Et<r||e<Et)&&o)&&++r===kt&&r++,qt<r&&(r=r-qt+Nt-1),String.fromCharCode(n)+String.fromCharCode(r)}(Math.floor(t/1e5),Math.floor(s/1e5)%20,a)}(i.easting,i.northing,i.zoneNumber)+h.substr(h.length-5,a)+e.substr(e.length-5,a);var i,a,h,e}function y(t){var s=g(v(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat]:[(s.left+s.right)/2,(s.top+s.bottom)/2]}function _(t){return t*(Math.PI/180)}function x(t){return t/Math.PI*180}function g(t){var s=t.northing,i=t.easting,a=t.zoneLetter,h=t.zoneNumber;if(h<0||60<h)return null;var e,n,r,o,l,M,c,u,f=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),m=i-5e5,p=s;a<"N"&&(p-=1e7),M=6*(h-1)-180+3,u=(c=p/.9996/6367449.145945056)+(3*f/2-27*f*f*f/32)*Math.sin(2*c)+(21*f*f/16-55*f*f*f*f/32)*Math.sin(4*c)+151*f*f*f/96*Math.sin(6*c),e=6378137/Math.sqrt(1-.00669438*Math.sin(u)*Math.sin(u)),n=Math.tan(u)*Math.tan(u),r=.006739496752268451*Math.cos(u)*Math.cos(u),o=6335439.32722994/Math.pow(1-.00669438*Math.sin(u)*Math.sin(u),1.5),l=m/(.9996*e);var d,y=x(y=u-e*Math.tan(u)/o*(l*l/2-(5+3*n+10*r-4*r*r-.06065547077041606)*l*l*l*l/24+(61+90*n+298*r+45*n*n-1.6983531815716497-3*r*r)*l*l*l*l*l*l/720)),_=M+x(_=(l-(1+2*n+r)*l*l*l/6+(5-2*r+28*n-3*r*r+.05391597401814761+24*n*n)*l*l*l*l*l/120)/Math.cos(u));return t.accuracy?{top:(d=g({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber})).lat,right:d.lon,bottom:y,left:_}:{lat:y,lon:_}}function b(t){var s=t%Ct;return 0===s&&(s=Ct),s}function v(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var s,i=t.length,a=null,h="",e=0;!/[A-Z]/.test(s=t.charAt(e));){if(2<=e)throw"MGRSPoint bad conversion from: "+t;h+=s,e++}var n=parseInt(h,10);if(0===e||i<e+3)throw"MGRSPoint bad conversion from: "+t;var r=t.charAt(e++);if(r<="A"||"B"===r||"Y"===r||"Z"<=r||"I"===r||"O"===r)throw"MGRSPoint zone letter "+r+" not handled: "+t;a=t.substring(e,e+=2);for(var o=b(n),l=function(t,s){for(var i=Pt.charCodeAt(s-1),a=1e5,h=!1;i!==t.charCodeAt(0);){if(++i===kt&&i++,i===Et&&i++,It<i){if(h)throw"Bad character: "+t;i=Nt,h=!0}a+=1e5}return a}(a.charAt(0),o),M=function(t,s){if("V"<t)throw"MGRSPoint given invalid Northing "+t;for(var i=St.charCodeAt(s-1),a=0,h=!1;i!==t.charCodeAt(0);){if(++i===kt&&i++,i===Et&&i++,qt<i){if(h)throw"Bad character: "+t;i=Nt,h=!0}a+=1e5}return a}(a.charAt(1),o);M<w(r);)M+=2e6;var c=i-e;if(c%2!=0)throw"MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+t;var u,f,m,p=c/2,d=0,y=0;return 0<p&&(u=1e5/Math.pow(10,p),f=t.substring(e,e+p),d=parseFloat(f)*u,m=t.substring(e+p),y=parseFloat(m)*u),{easting:d+l,northing:y+M,zoneLetter:r,zoneNumber:n,accuracy:u}}function w(t){var s;switch(t){case"C":s=11e5;break;case"D":s=2e6;break;case"E":s=28e5;break;case"F":s=37e5;break;case"G":s=46e5;break;case"H":s=55e5;break;case"J":s=64e5;break;case"K":s=73e5;break;case"L":s=82e5;break;case"M":s=91e5;break;case"N":s=0;break;case"P":s=8e5;break;case"Q":s=17e5;break;case"R":s=26e5;break;case"S":s=35e5;break;case"T":s=44e5;break;case"U":s=53e5;break;case"V":s=62e5;break;case"W":s=7e6;break;case"X":s=79e5;break;default:s=-1}if(0<=s)return s;throw"Invalid zone letter: "+t}function C(t,s,i){if(!(this instanceof C))return new C(t,s,i);var a;Array.isArray(t)?(this.x=t[0],this.y=t[1],this.z=t[2]||0):"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z||0):"string"==typeof t&&void 0===s?(a=t.split(","),this.x=parseFloat(a[0],10),this.y=parseFloat(a[1],10),this.z=parseFloat(a[2],10)||0):(this.x=t,this.y=s,this.z=i||0),console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}function P(t,s,i,a){var h;return t<D?(a.value=Os,h=0):(h=Math.atan2(s,i),Math.abs(h)<=U?a.value=Os:U<h&&h<=z+U?(a.value=As,h-=z):z+U<h||h<=-(z+U)?(a.value=Gs,h=0<=h?h-Q:h+Q):(a.value=js,h+=z)),h}function S(t,s){var i=t+s;return i<-Q?i+=F:+Q<i&&(i-=F),i}var I=1,O=2,A=4,G=5,j=484813681109536e-20,z=Math.PI/2,R=.16666666666666666,L=.04722222222222222,T=.022156084656084655,D=1e-10,N=.017453292519943295,B=57.29577951308232,U=Math.PI/4,F=2*Math.PI,Q=3.14159265359,W={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667},X={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}},H=/[\s_\-\/\(\)]/g,J=function(t){var s,i,a,h={},e=t.split("+").map(function(t){return t.trim()}).filter(function(t){return t}).reduce(function(t,s){var i=s.split("=");return i.push(!0),t[i[0].toLowerCase()]=i[1],t},{}),n={proj:"projName",datum:"datumCode",rf:function(t){h.rf=parseFloat(t)},lat_0:function(t){h.lat0=t*N},lat_1:function(t){h.lat1=t*N},lat_2:function(t){h.lat2=t*N},lat_ts:function(t){h.lat_ts=t*N},lon_0:function(t){h.long0=t*N},lon_1:function(t){h.long1=t*N},lon_2:function(t){h.long2=t*N},alpha:function(t){h.alpha=parseFloat(t)*N},lonc:function(t){h.longc=t*N},x_0:function(t){h.x0=parseFloat(t)},y_0:function(t){h.y0=parseFloat(t)},k_0:function(t){h.k0=parseFloat(t)},k:function(t){h.k0=parseFloat(t)},a:function(t){h.a=parseFloat(t)},b:function(t){h.b=parseFloat(t)},r_a:function(){h.R_A=!0},zone:function(t){h.zone=parseInt(t,10)},south:function(){h.utmSouth=!0},towgs84:function(t){h.datum_params=t.split(",").map(function(t){return parseFloat(t)})},to_meter:function(t){h.to_meter=parseFloat(t)},units:function(t){h.units=t;var s=k(X,t);s&&(h.to_meter=s.to_meter)},from_greenwich:function(t){h.from_greenwich=t*N},pm:function(t){var s=k(W,t);h.from_greenwich=(s||parseFloat(t))*N},nadgrids:function(t){"@null"===t?h.datumCode="none":h.nadgrids=t},axis:function(t){3===t.length&&-1!=="ewnsud".indexOf(t.substr(0,1))&&-1!=="ewnsud".indexOf(t.substr(1,1))&&-1!=="ewnsud".indexOf(t.substr(2,1))&&(h.axis=t)}};for(s in e)i=e[s],s in n?"function"==typeof(a=n[s])?a(i):h[a]=i:h[s]=i;return"string"==typeof h.datumCode&&"WGS84"!==h.datumCode&&(h.datumCode=h.datumCode.toLowerCase()),h},K=1,V=/\s/,Z=/[A-Za-z]/,Y=/[A-Za-z84]/,$=/[,\]]/,tt=/[\d\.E\-\+]/;e.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;V.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case K:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},e.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if($.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},e.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=K)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=K,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},e.prototype.number=function(t){if(!tt.test(t)){if($.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t},e.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5},e.prototype.keyword=function(t){if(Y.test(t))this.word+=t;else{if("["===t){var s=[];return s.push(this.word),this.level++,null===this.root?this.root=s:this.currentObject.push(s),this.stack.push(this.currentObject),this.currentObject=s,void(this.state=K)}if(!$.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t)}},e.prototype.neutral=function(t){if(Z.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(tt.test(t))return this.word=t,void(this.state=3);if(!$.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t)},e.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(-1===this.state)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};var st,it=.017453292519943295,at=function(t){var s=new e(t).output(),i=s.shift(),a=s.shift();s.unshift(["name",a]),s.unshift(["type",i]);var h={};return n(s,h),o(h),h};(st=l)("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),st("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),st("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),st.WGS84=st["EPSG:4326"],st["EPSG:3785"]=st["EPSG:3857"],st.GOOGLE=st["EPSG:3857"],st["EPSG:900913"]=st["EPSG:3857"],st["EPSG:102113"]=st["EPSG:3857"];function ht(t,s,i){var a=t*s;return i/Math.sqrt(1-a*a)}function et(t){return t<0?-1:1}function nt(t){return Math.abs(t)<=Q?t:t-et(t)*F}function rt(t,s,i){var a=t*i,h=.5*t,a=Math.pow((1-a)/(1+a),h);return Math.tan(.5*(z-s))/a}function ot(t,s){for(var i,a,h=.5*t,e=z-2*Math.atan(s),n=0;n<=15;n++)if(i=t*Math.sin(e),e+=a=z-2*Math.atan(s*Math.pow((1-i)/(1+i),h))-e,Math.abs(a)<=1e-10)return e;return-9999}var lt=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],Mt=["3857","900913","3785","102113"],ct=function(t,s){var i,a;if(t=t||{},!s)return t;for(a in s)void 0!==(i=s[a])&&(t[a]=i);return t},ut=[{init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},forward:function(t){var s,i,a,h,e=t.x,n=t.y;return 90<n*B&&n*B<-90&&180<e*B&&e*B<-180||Math.abs(Math.abs(n)-z)<=D?null:(h=this.sphere?(a=this.x0+this.a*this.k0*nt(e-this.long0),this.y0+this.a*this.k0*Math.log(Math.tan(U+.5*n))):(s=Math.sin(n),i=rt(this.e,n,s),a=this.x0+this.a*this.k0*nt(e-this.long0),this.y0-this.a*this.k0*Math.log(i)),t.x=a,t.y=h,t)},inverse:function(t){var s,i,a=t.x-this.x0,h=t.y-this.y0;if(this.sphere)i=z-2*Math.atan(Math.exp(-h/(this.a*this.k0)));else{var e=Math.exp(-h/(this.a*this.k0));if(-9999===(i=ot(this.e,e)))return null}return s=nt(this.long0+a/(this.a*this.k0)),t.x=s,t.y=i,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{init:function(){},forward:t,inverse:t,names:["longlat","identity"]}],ft={},mt=[],pt={start:function(){ut.forEach(s)},add:s,get:function(t){if(!t)return!1;var s=t.toLowerCase();return void 0!==ft[s]&&mt[ft[s]]?mt[ft[s]]:void 0}},dt={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},yt=dt.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};dt.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var _t={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}};q.projections=pt,q.projections.start();var xt=function(t,s,i){return h=s,((a=t).datum_type!==h.datum_type||a.a!==h.a||5e-11<Math.abs(a.es-h.es)||(a.datum_type===I?a.datum_params[0]!==h.datum_params[0]||a.datum_params[1]!==h.datum_params[1]||a.datum_params[2]!==h.datum_params[2]:a.datum_type===O&&(a.datum_params[0]!==h.datum_params[0]||a.datum_params[1]!==h.datum_params[1]||a.datum_params[2]!==h.datum_params[2]||a.datum_params[3]!==h.datum_params[3]||a.datum_params[4]!==h.datum_params[4]||a.datum_params[5]!==h.datum_params[5]||a.datum_params[6]!==h.datum_params[6])))&&t.datum_type!==G&&s.datum_type!==G&&(t.es!==s.es||t.a!==s.a||u(t.datum_type)||u(s.datum_type))?(i=M(i,t.es,t.a),u(t.datum_type)&&(i=function(t,s,i){if(s===I)return{x:t.x+i[0],y:t.y+i[1],z:t.z+i[2]};if(s===O){var a=i[0],h=i[1],e=i[2],n=i[3],r=i[4],o=i[5],l=i[6];return{x:l*(t.x-o*t.y+r*t.z)+a,y:l*(o*t.x+t.y-n*t.z)+h,z:l*(-r*t.x+n*t.y+t.z)+e}}}(i,t.datum_type,t.datum_params)),u(s.datum_type)&&(i=function(t,s,i){if(s===I)return{x:t.x-i[0],y:t.y-i[1],z:t.z-i[2]};if(s===O){var a=i[0],h=i[1],e=i[2],n=i[3],r=i[4],o=i[5],l=i[6],M=(t.x-a)/l,c=(t.y-h)/l,u=(t.z-e)/l;return{x:M+o*c-r*u,y:-o*M+c+n*u,z:r*M-n*c+u}}}(i,s.datum_type,s.datum_params)),c(i,s.es,s.a,s.b)):i;var a,h},gt=function(t,s,i){for(var a,h,e=i.x,n=i.y,r=i.z||0,o={},l=0;l<3;l++)if(!s||2!==l||void 0!==i.z)switch(h=0===l?(a=e,-1!=="ew".indexOf(t.axis[l])?"x":"y"):1===l?(a=n,-1!=="ns".indexOf(t.axis[l])?"y":"x"):(a=r,"z"),t.axis[l]){case"e":case"w":case"n":case"s":o[h]=a;break;case"u":void 0!==i[h]&&(o.z=a);break;case"d":void 0!==i[h]&&(o.z=-a);break;default:return null}return o},bt=function(t){var s={x:t[0],y:t[1]};return 2<t.length&&(s.z=t[2]),3<t.length&&(s.m=t[3]),s},vt=function(t){i(t.x),i(t.y)},wt=q("WGS84"),Ct=6,Pt="AJSAJS",St="AFAFAF",Nt=65,kt=73,Et=79,qt=86,It=90,Ot={forward:d,inverse:function(t){var s=g(v(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat,s.lon,s.lat]:[s.left,s.bottom,s.right,s.top]},toPoint:y};C.fromMGRS=function(t){return new C(y(t))},C.prototype.toMGRS=function(t){return d([this.x,this.y],t)};function At(t){var s=[];s[0]=1-t*(.25+t*(.046875+t*(.01953125+t*ts))),s[1]=t*(.75-t*(.046875+t*(.01953125+t*ts)));var i=t*t;return s[2]=i*(.46875-t*(.013020833333333334+.007120768229166667*t)),i*=t,s[3]=i*(.3645833333333333-.005696614583333333*t),s[4]=i*t*.3076171875,s}function Gt(t,s,i,a){return i*=s,s*=s,a[0]*t-i*(a[1]+s*(a[2]+s*(a[3]+s*a[4])))}function jt(t,s,i){for(var a=1/(1-s),h=t,e=20;e;--e){var n=Math.sin(h),r=1-s*n*n;if(h-=r=(Gt(h,n,Math.cos(h),i)-t)*(r*Math.sqrt(r))*a,Math.abs(r)<D)return h}return h}function zt(t){var s=Math.exp(t);return(s-1/s)/2}function Rt(t,s){t=Math.abs(t),s=Math.abs(s);var i=Math.max(t,s),a=Math.min(t,s)/(i||1);return i*Math.sqrt(1+Math.pow(a,2))}function Lt(t){var s,i,a,h=Math.abs(t);return s=h*(1+h/(Rt(1,h)+1)),h=0==(a=(i=1+s)-1)?s:s*Math.log(i)/a,t<0?-h:h}function Tt(t,s){for(var i,a=2*Math.cos(2*s),h=t.length-1,e=t[h],n=0;0<=--h;)i=a*e-n+t[h],n=e,e=i;return s+i*Math.sin(2*s)}function Dt(t,s,i){for(var a,h,e,n,r=Math.sin(s),o=Math.cos(s),l=zt(i),M=(e=i,((n=Math.exp(e))+1/n)/2),c=2*o*M,u=-2*r*l,f=t.length-1,m=t[f],p=0,d=0,y=0;0<=--f;)a=d,h=p,m=c*(d=m)-a-u*(p=y)+t[f],y=u*d-h+c*p;return[(c=r*M)*m-(u=o*l)*y,c*y+u*m]}function Bt(t,s){return Math.pow((1-t)/(1+t),s)}function Ut(t,s,i,a,h){return t*h-s*Math.sin(2*h)+i*Math.sin(4*h)-a*Math.sin(6*h)}function Ft(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function Qt(t){return.375*t*(1+.25*t*(1+.46875*t))}function Wt(t){return.05859375*t*t*(1+.75*t)}function Xt(t){return t*t*t*(35/3072)}function Ht(t,s,i){var a=s*i;return t/Math.sqrt(1-a*a)}function Jt(t){return Math.abs(t)<z?t:t-et(t)*Math.PI}function Kt(t,s,i,a,h){for(var e,n=t/s,r=0;r<15;r++)if(n+=e=(t-(s*n-i*Math.sin(2*n)+a*Math.sin(4*n)-h*Math.sin(6*n)))/(s-2*i*Math.cos(2*n)+4*a*Math.cos(4*n)-6*h*Math.cos(6*n)),Math.abs(e)<=1e-10)return n;return NaN}function Vt(t,s){var i;return 1e-7<t?(1-t*t)*(s/(1-(i=t*s)*i)-.5/t*Math.log((1-i)/(1+i))):2*s}function Zt(t){return 1<Math.abs(t)&&(t=1<t?1:-1),Math.asin(t)}function Yt(t,s){return t[0]+s*(t[1]+s*(t[2]+s*t[3]))}var $t,ts=.01068115234375,ss={init:function(){this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.es&&(this.en=At(this.es),this.ml0=Gt(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Math.sin(i),e=Math.cos(i);if(this.es){var n=e*a,r=Math.pow(n,2),o=this.ep2*Math.pow(e,2),l=Math.pow(o,2),M=Math.abs(e)>D?Math.tan(i):0,c=Math.pow(M,2),u=Math.pow(c,2),f=1-this.es*Math.pow(h,2);n/=Math.sqrt(f);var m=Gt(i,h,e,this.en),p=this.a*(this.k0*n*(1+r/6*(1-c+o+r/20*(5-18*c+u+14*o-58*c*o+r/42*(61+179*u-u*c-479*c)))))+this.x0,d=this.a*(this.k0*(m-this.ml0+h*a*n/2*(1+r/12*(5-c+9*o+4*l+r/30*(61+u-58*c+270*o-330*c*o+r/56*(1385+543*u-u*c-3111*c))))))+this.y0}else{var y=e*Math.sin(a);if(Math.abs(Math.abs(y)-1)<D)return 93;if(p=.5*this.a*this.k0*Math.log((1+y)/(1-y))+this.x0,d=e*Math.cos(a)/Math.sqrt(1-Math.pow(y,2)),1<=(y=Math.abs(d))){if(D<y-1)return 93;d=0}else d=Math.acos(d);i<0&&(d=-d),d=this.a*this.k0*(d-this.lat0)+this.y0}return t.x=p,t.y=d,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_=(t.x-this.x0)*(1/this.a),x=(t.y-this.y0)*(1/this.a);return f=this.es?(l=this.ml0+x/this.k0,s=jt(l,this.es,this.en),Math.abs(s)<z?(i=Math.sin(s),a=Math.cos(s),h=Math.abs(a)>D?Math.tan(s):0,e=this.ep2*Math.pow(a,2),n=Math.pow(e,2),r=Math.pow(h,2),o=Math.pow(r,2),l=1-this.es*Math.pow(i,2),M=_*Math.sqrt(l)/this.k0,u=s-(l*=h)*(c=Math.pow(M,2))/(1-this.es)*.5*(1-c/12*(5+3*r-9*e*r+e-4*n-c/30*(61+90*r-252*e*r+45*o+46*e-c/56*(1385+3633*r+4095*o+1574*o*r)))),nt(this.long0+M*(1-c/6*(1+2*r+e-c/20*(5+28*r+24*o+8*e*r+6*e-c/42*(61+662*r+1320*o+720*o*r))))/a)):(u=z*et(x),0)):(p=.5*((m=Math.exp(_/this.k0))-1/m),d=this.lat0+x/this.k0,y=Math.cos(d),l=Math.sqrt((1-Math.pow(y,2))/(1+Math.pow(p,2))),u=Math.asin(l),x<0&&(u=-u),0==p&&0===y?0:nt(Math.atan2(p,y)+this.long0)),t.x=f,t.y=u,t},names:["Transverse_Mercator","Transverse Mercator","tmerc"]},is={init:function(){if(void 0===this.es||this.es<=0)throw new Error("incorrect elliptical usage");this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),s=t/(2-t),i=s;this.cgb[0]=s*(2+s*(-2/3+s*(s*(116/45+s*(26/45+-2854/675*s))-2))),this.cbg[0]=s*(s*(2/3+s*(4/3+s*(-82/45+s*(32/45+4642/4725*s))))-2),i*=s,this.cgb[1]=i*(7/3+s*(s*(-227/45+s*(2704/315+2323/945*s))-1.6)),this.cbg[1]=i*(5/3+s*(-16/15+s*(-13/9+s*(904/315+-1522/945*s)))),i*=s,this.cgb[2]=i*(56/15+s*(-136/35+s*(-1262/105+73814/2835*s))),this.cbg[2]=i*(-26/15+s*(34/21+s*(1.6+-12686/2835*s))),i*=s,this.cgb[3]=i*(4279/630+s*(-332/35+-399572/14175*s)),this.cbg[3]=i*(1237/630+s*(-24832/14175*s-2.4)),i*=s,this.cgb[4]=i*(4174/315+-144838/6237*s),this.cbg[4]=i*(-734/315+109598/31185*s),i*=s,this.cgb[5]=i*(601676/22275),this.cbg[5]=i*(444337/155925),i=Math.pow(s,2),this.Qn=this.k0/(1+s)*(1+i*(.25+i*(1/64+i/256))),this.utg[0]=s*(s*(2/3+s*(-37/96+s*(1/360+s*(81/512+-96199/604800*s))))-.5),this.gtu[0]=s*(.5+s*(-2/3+s*(5/16+s*(41/180+s*(-127/288+7891/37800*s))))),this.utg[1]=i*(-1/48+s*(-1/15+s*(437/1440+s*(-46/105+1118711/3870720*s)))),this.gtu[1]=i*(13/48+s*(s*(557/1440+s*(281/630+-1983433/1935360*s))-.6)),i*=s,this.utg[2]=i*(-17/480+s*(37/840+s*(209/4480+-5569/90720*s))),this.gtu[2]=i*(61/240+s*(-103/140+s*(15061/26880+167603/181440*s))),i*=s,this.utg[3]=i*(-4397/161280+s*(11/504+830251/7257600*s)),this.gtu[3]=i*(49561/161280+s*(-179/168+6601661/7257600*s)),i*=s,this.utg[4]=i*(-4583/161280+108847/3991680*s),this.gtu[4]=i*(34729/80640+-3418889/1995840*s),i*=s,this.utg[5]=-.03233083094085698*i,this.gtu[5]=.6650675310896665*i;var a=Tt(this.cbg,this.lat0);this.Zb=-this.Qn*(a+function(t,s){for(var i,a=2*Math.cos(s),h=t.length-1,e=t[h],n=0;0<=--h;)i=a*e-n+t[h],n=e,e=i;return Math.sin(s)*i}(this.gtu,2*a))},forward:function(t){var s=nt(t.x-this.long0),i=t.y,i=Tt(this.cbg,i),a=Math.sin(i),h=Math.cos(i),e=Math.sin(s),n=Math.cos(s);i=Math.atan2(a,n*h),s=Math.atan2(e*h,Rt(a,h*n)),s=Lt(Math.tan(s));var r,o,l=Dt(this.gtu,2*i,2*s);return i+=l[0],s+=l[1],o=Math.abs(s)<=2.623395162778?(r=this.a*(this.Qn*s)+this.x0,this.a*(this.Qn*i+this.Zb)+this.y0):r=1/0,t.x=r,t.y=o,t},inverse:function(t){var s,i,a,h,e,n,r,o=(t.x-this.x0)*(1/this.a),l=(t.y-this.y0)*(1/this.a);return l=(l-this.Zb)/this.Qn,o/=this.Qn,r=Math.abs(o)<=2.623395162778?(l+=(s=Dt(this.utg,2*l,2*o))[0],o+=s[1],o=Math.atan(zt(o)),i=Math.sin(l),a=Math.cos(l),h=Math.sin(o),e=Math.cos(o),l=Math.atan2(i*e,Rt(h,e*a)),o=Math.atan2(h,e*a),n=nt(o+this.long0),Tt(this.cgb,l)):n=1/0,t.x=n,t.y=r,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"]},as={init:function(){var t=function(t,s){if(void 0===t){if((t=Math.floor(30*(nt(s)+Math.PI)/Math.PI)+1)<0)return 0;if(60<t)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*N,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,is.init.apply(this),this.forward=is.forward,this.inverse=is.inverse},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"},hs={init:function(){var t=Math.sin(this.lat0),s=Math.cos(this.lat0);s*=s,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*s*s/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+U)/(Math.pow(Math.tan(.5*this.lat0+U),this.C)*Bt(this.e*t,this.ratexp))},forward:function(t){var s=t.x,i=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*i+U),this.C)*Bt(this.e*Math.sin(i),this.ratexp))-z,t.x=this.C*s,t},inverse:function(t){for(var s=t.x/this.C,i=t.y,a=Math.pow(Math.tan(.5*i+U)/this.K,1/this.C),h=20;0<h&&(i=2*Math.atan(a*Bt(this.e*Math.sin(t.y),-.5*this.e))-z,!(Math.abs(i-t.y)<1e-14));--h)t.y=i;return h?(t.x=s,t.y=i,t):null},names:["gauss"]},es={init:function(){hs.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},forward:function(t){var s,i,a,h;return t.x=nt(t.x-this.long0),hs.forward.apply(this,[t]),s=Math.sin(t.y),i=Math.cos(t.y),a=Math.cos(t.x),h=this.k0*this.R2/(1+this.sinc0*s+this.cosc0*i*a),t.x=h*i*Math.sin(t.x),t.y=h*(this.cosc0*s-this.sinc0*i*a),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var s,i,a,h,e,n;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,n=(s=Math.sqrt(t.x*t.x+t.y*t.y))?(i=2*Math.atan2(s,this.R2),a=Math.sin(i),h=Math.cos(i),e=Math.asin(h*this.sinc0+t.y*a*this.cosc0/s),Math.atan2(t.x*a,s*this.cosc0*h-t.y*this.sinc0*a)):(e=this.phic0,0),t.x=n,t.y=e,hs.inverse.apply(this,[t]),t.x=nt(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},ns={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=D&&(this.k0=.5*(1+et(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=D&&(0<this.lat0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=D&&(this.k0=.5*this.cons*ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/rt(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=ht(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-z,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},forward:function(t){var s,i,a,h,e,n,r=t.x,o=t.y,l=Math.sin(o),M=Math.cos(o),c=nt(r-this.long0);return Math.abs(Math.abs(r-this.long0)-Math.PI)<=D&&Math.abs(o+this.lat0)<=D?(t.x=NaN,t.y=NaN):this.sphere?(s=2*this.k0/(1+this.sinlat0*l+this.coslat0*M*Math.cos(c)),t.x=this.a*s*M*Math.sin(c)+this.x0,t.y=this.a*s*(this.coslat0*l-this.sinlat0*M*Math.cos(c))+this.y0):(i=2*Math.atan(this.ssfn_(o,l,this.e))-z,h=Math.cos(i),a=Math.sin(i),Math.abs(this.coslat0)<=D?(e=rt(this.e,o*this.con,this.con*l),n=2*this.a*this.k0*e/this.cons,t.x=this.x0+n*Math.sin(r-this.long0),t.y=this.y0-this.con*n*Math.cos(r-this.long0)):(Math.abs(this.sinlat0)<D?(s=2*this.a*this.k0/(1+h*Math.cos(c)),t.y=s*a):(s=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*a+this.cosX0*h*Math.cos(c))),t.y=s*(this.cosX0*a-this.sinX0*h*Math.cos(c))+this.y0),t.x=s*h*Math.sin(c)+this.x0)),t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h=Math.sqrt(t.x*t.x+t.y*t.y);if(this.sphere){var e=2*Math.atan(h/(2*this.a*this.k0)),n=this.long0,r=this.lat0;return h<=D||(r=Math.asin(Math.cos(e)*this.sinlat0+t.y*Math.sin(e)*this.coslat0/h),n=nt(Math.abs(this.coslat0)<D?0<this.lat0?this.long0+Math.atan2(t.x,-1*t.y):this.long0+Math.atan2(t.x,t.y):this.long0+Math.atan2(t.x*Math.sin(e),h*this.coslat0*Math.cos(e)-t.y*this.sinlat0*Math.sin(e)))),t.x=n,t.y=r,t}if(Math.abs(this.coslat0)<=D){if(h<=D)return r=this.lat0,n=this.long0,t.x=n,t.y=r,t;t.x*=this.con,t.y*=this.con,s=h*this.cons/(2*this.a*this.k0),r=this.con*ot(this.e,s),n=this.con*nt(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else i=2*Math.atan(h*this.cosX0/(2*this.a*this.k0*this.ms1)),n=this.long0,h<=D?a=this.X0:(a=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/h),n=nt(this.long0+Math.atan2(t.x*Math.sin(i),h*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),r=-1*ot(this.e,Math.tan(.5*(z+a)));return t.x=n,t.y=r,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,s,i){return s*=i,Math.tan(.5*(z+t))*Math.pow((1-s)/(1+s),.5*i)}},rs={init:function(){var t=this.lat0;this.lambda0=this.long0;var s=Math.sin(t),i=this.a,a=1/this.rf,h=2*a-Math.pow(a,2),e=this.e=Math.sqrt(h);this.R=this.k0*i*Math.sqrt(1-h)/(1-h*Math.pow(s,2)),this.alpha=Math.sqrt(1+h/(1-h)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(s/this.alpha);var n=Math.log(Math.tan(Math.PI/4+this.b0/2)),r=Math.log(Math.tan(Math.PI/4+t/2)),o=Math.log((1+e*s)/(1-e*s));this.K=n-this.alpha*r+this.alpha*e/2*o},forward:function(t){var s=Math.log(Math.tan(Math.PI/4-t.y/2)),i=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),a=-this.alpha*(s+i)+this.K,h=2*(Math.atan(Math.exp(a))-Math.PI/4),e=this.alpha*(t.x-this.lambda0),n=Math.atan(Math.sin(e)/(Math.sin(this.b0)*Math.tan(h)+Math.cos(this.b0)*Math.cos(e))),r=Math.asin(Math.cos(this.b0)*Math.sin(h)-Math.sin(this.b0)*Math.cos(h)*Math.cos(e));return t.y=this.R/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)))+this.y0,t.x=this.R*n+this.x0,t},inverse:function(t){for(var s=t.x-this.x0,i=t.y-this.y0,a=s/this.R,h=2*(Math.atan(Math.exp(i/this.R))-Math.PI/4),e=Math.asin(Math.cos(this.b0)*Math.sin(h)+Math.sin(this.b0)*Math.cos(h)*Math.cos(a)),n=Math.atan(Math.sin(a)/(Math.cos(this.b0)*Math.cos(a)-Math.sin(this.b0)*Math.tan(h))),r=this.lambda0+n/this.alpha,o=0,l=e,M=-1e3,c=0;1e-7<Math.abs(l-M);){if(20<++c)return;o=1/this.alpha*(Math.log(Math.tan(Math.PI/4+e/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),M=l,l=2*Math.atan(Math.exp(o))-Math.PI/2}return t.x=r,t.y=l,t},names:["somerc"]},os={init:function(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var t=Math.sin(this.lat0),s=Math.cos(this.lat0),i=this.e*t;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(s,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-i*i);var a,h,e,n,r,o,l,M,c,u,f=rt(this.e,this.lat0,t),m=this.bl/s*Math.sqrt((1-this.es)/(1-i*i));m*m<1&&(m=1),isNaN(this.longc)?(h=rt(this.e,this.lat1,Math.sin(this.lat1)),e=rt(this.e,this.lat2,Math.sin(this.lat2)),0<=this.lat0?this.el=(m+Math.sqrt(m*m-1))*Math.pow(f,this.bl):this.el=(m-Math.sqrt(m*m-1))*Math.pow(f,this.bl),n=Math.pow(h,this.bl),r=Math.pow(e,this.bl),o=.5*((a=this.el/n)-1/a),l=(this.el*this.el-r*n)/(this.el*this.el+r*n),M=(r-n)/(r+n),c=nt(this.long1-this.long2),this.long0=.5*(this.long1+this.long2)-Math.atan(l*Math.tan(.5*this.bl*c)/M)/this.bl,this.long0=nt(this.long0),u=nt(this.long1-this.long0),this.gamma0=Math.atan(Math.sin(this.bl*u)/o),this.alpha=Math.asin(m*Math.sin(this.gamma0))):(a=0<=this.lat0?m+Math.sqrt(m*m-1):m-Math.sqrt(m*m-1),this.el=a*Math.pow(f,this.bl),o=.5*(a-1/a),this.gamma0=Math.asin(Math.sin(this.alpha)/m),this.long0=this.longc-Math.asin(o*Math.tan(this.gamma0))/this.bl),this.no_off?this.uc=0:0<=this.lat0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(m*m-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(m*m-1),Math.cos(this.alpha))},forward:function(t){var s,i,a,h,e,n,r,o,l,M=t.x,c=t.y,u=nt(M-this.long0);return l=Math.abs(Math.abs(c)-z)<=D?(s=0<c?-1:1,o=this.al/this.bl*Math.log(Math.tan(U+s*this.gamma0*.5)),-1*s*z*this.al/this.bl):(i=rt(this.e,c,Math.sin(c)),h=.5*((a=this.el/Math.pow(i,this.bl))-1/a),e=.5*(a+1/a),n=Math.sin(this.bl*u),r=(h*Math.sin(this.gamma0)-n*Math.cos(this.gamma0))/e,o=Math.abs(Math.abs(r)-1)<=D?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-r)/(1+r))/this.bl,Math.abs(Math.cos(this.bl*u))<=D?this.al*this.bl*u:this.al*Math.atan2(h*Math.cos(this.gamma0)+n*Math.sin(this.gamma0),Math.cos(this.bl*u))/this.bl),this.no_rot?(t.x=this.x0+l,t.y=this.y0+o):(l-=this.uc,t.x=this.x0+o*Math.cos(this.alpha)+l*Math.sin(this.alpha),t.y=this.y0+l*Math.cos(this.alpha)-o*Math.sin(this.alpha)),t},inverse:function(t){var s,i;this.no_rot?(i=t.y-this.y0,s=t.x-this.x0):(i=(t.x-this.x0)*Math.cos(this.alpha)-(t.y-this.y0)*Math.sin(this.alpha),s=(t.y-this.y0)*Math.cos(this.alpha)+(t.x-this.x0)*Math.sin(this.alpha),s+=this.uc);var a=Math.exp(-1*this.bl*i/this.al),h=.5*(a-1/a),e=.5*(a+1/a),n=Math.sin(this.bl*s/this.al),r=(n*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/e,o=Math.pow(this.el/Math.sqrt((1+r)/(1-r)),1/this.bl);return Math.abs(r-1)<D?(t.x=this.long0,t.y=z):Math.abs(1+r)<D?(t.x=this.long0,t.y=-1*z):(t.y=ot(this.e,o),t.x=nt(this.long0-Math.atan2(h*Math.cos(this.gamma0)-n*Math.sin(this.gamma0),Math.cos(this.bl*s/this.al))/this.bl)),t},names:["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"]},ls={init:function(){var t,s,i,a,h,e,n,r,o,l;this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,Math.abs(this.lat1+this.lat2)<D||(t=this.b/this.a,this.e=Math.sqrt(1-t*t),s=Math.sin(this.lat1),i=Math.cos(this.lat1),a=ht(this.e,s,i),h=rt(this.e,this.lat1,s),e=Math.sin(this.lat2),n=Math.cos(this.lat2),r=ht(this.e,e,n),o=rt(this.e,this.lat2,e),l=rt(this.e,this.lat0,Math.sin(this.lat0)),Math.abs(this.lat1-this.lat2)>D?this.ns=Math.log(a/r)/Math.log(h/o):this.ns=s,isNaN(this.ns)&&(this.ns=s),this.f0=a/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic"))},forward:function(t){var s=t.x,i=t.y;Math.abs(2*Math.abs(i)-Math.PI)<=D&&(i=et(i)*(z-2*D));var a,h,e=Math.abs(Math.abs(i)-z);if(D<e)a=rt(this.e,i,Math.sin(i)),h=this.a*this.f0*Math.pow(a,this.ns);else{if((e=i*this.ns)<=0)return null;h=0}var n=this.ns*nt(s-this.long0);return t.x=this.k0*(h*Math.sin(n))+this.x0,t.y=this.k0*(this.rh-h*Math.cos(n))+this.y0,t},inverse:function(t){var s,i,a,h,e=(t.x-this.x0)/this.k0,n=this.rh-(t.y-this.y0)/this.k0,r=0<this.ns?(s=Math.sqrt(e*e+n*n),1):(s=-Math.sqrt(e*e+n*n),-1),o=0;if(0!==s&&(o=Math.atan2(r*e,r*n)),0!==s||0<this.ns){if(r=1/this.ns,i=Math.pow(s/(this.a*this.f0),r),-9999===(a=ot(this.e,i)))return null}else a=-z;return h=nt(o/this.ns+this.long0),t.x=h,t.y=a,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"]},Ms={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Math.pow((1+this.e*Math.sin(i))/(1-this.e*Math.sin(i)),this.alfa*this.e/2),e=2*(Math.atan(this.k*Math.pow(Math.tan(i/2+this.s45),this.alfa)/h)-this.s45),n=-a*this.alfa,r=Math.asin(Math.cos(this.ad)*Math.sin(e)+Math.sin(this.ad)*Math.cos(e)*Math.cos(n)),o=Math.asin(Math.cos(e)*Math.sin(n)/Math.cos(r)),l=this.n*o,M=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(r/2+this.s45),this.n);return t.y=M*Math.cos(l),t.x=M*Math.sin(l),this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var s,i,a,h,e,n,r,o=t.x;t.x=t.y,t.y=o,this.czech||(t.y*=-1,t.x*=-1),e=Math.sqrt(t.x*t.x+t.y*t.y),h=Math.atan2(t.y,t.x)/Math.sin(this.s0),a=2*(Math.atan(Math.pow(this.ro0/e,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),s=Math.asin(Math.cos(this.ad)*Math.sin(a)-Math.sin(this.ad)*Math.cos(a)*Math.cos(h)),i=Math.asin(Math.cos(a)*Math.sin(h)/Math.cos(s)),t.x=this.long0-i/this.alfa,n=s;for(var l=r=0;t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(s/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(n))/(1-this.e*Math.sin(n)),this.e/2))-this.s45),Math.abs(n-t.y)<1e-10&&(r=1),n=t.y,l+=1,0===r&&l<15;);return 15<=l?null:t},names:["Krovak","krovak"]},cs={init:function(){this.sphere||(this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.ml0=this.a*Ut(this.e0,this.e1,this.e2,this.e3,this.lat0))},forward:function(t){var s,i,a,h,e,n,r,o,l,M=t.x,c=t.y,M=nt(M-this.long0);return l=this.sphere?(o=this.a*Math.asin(Math.cos(c)*Math.sin(M)),this.a*(Math.atan2(Math.tan(c),Math.cos(M))-this.lat0)):(s=Math.sin(c),i=Math.cos(c),a=Ht(this.a,this.e,s),h=Math.tan(c)*Math.tan(c),o=a*(e=M*Math.cos(c))*(1-(n=e*e)*h*(1/6-(8-h+8*(r=this.es*i*i/(1-this.es)))*n/120)),this.a*Ut(this.e0,this.e1,this.e2,this.e3,c)-this.ml0+a*s/i*n*(.5+(5-h+6*r)*n/24)),t.x=o+this.x0,t.y=l+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s=t.x/this.a,i=t.y/this.a;if(this.sphere)var a=i+this.lat0,h=Math.asin(Math.sin(a)*Math.cos(s)),e=Math.atan2(Math.tan(s),Math.cos(a));else{var n=this.ml0/this.a+i,r=Kt(n,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(r)-z)<=D)return t.x=this.long0,t.y=z,i<0&&(t.y*=-1),t;var o=Ht(this.a,this.e,Math.sin(r)),l=o*o*o/this.a/this.a*(1-this.es),M=Math.pow(Math.tan(r),2),c=s*this.a/o,u=c*c;h=r-o*Math.tan(r)/l*c*c*(.5-(1+3*M)*c*c/24),e=c*(1-u*(M/3+(1+3*M)*M*u/15))/Math.cos(r)}return t.x=nt(e+this.long0),t.y=Jt(h),t},names:["Cassini","Cassini_Soldner","cass"]},us={init:function(){var t,s,i,a,h=Math.abs(this.lat0);if(Math.abs(h-z)<D?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(h)<D?this.mode=this.EQUIT:this.mode=this.OBLIQ,0<this.es)switch(this.qp=Vt(this.e,1),this.mmf=.5/(1-this.es),this.apa=(s=this.es,(a=[])[0]=.3333333333333333*s,i=s*s,a[0]+=.17222222222222222*i,a[1]=.06388888888888888*i,i*=s,a[0]+=.10257936507936508*i,a[1]+=.0664021164021164*i,a[2]=.016415012942191543*i,a),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=Vt(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c=t.x,u=t.y,c=nt(c-this.long0);if(this.sphere){if(e=Math.sin(u),M=Math.cos(u),a=Math.cos(c),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((i=this.mode===this.EQUIT?1+M*a:1+this.sinph0*e+this.cosph0*M*a)<=D)return null;s=(i=Math.sqrt(2/i))*M*Math.sin(c),i*=this.mode===this.EQUIT?e:this.cosph0*e-this.sinph0*M*a}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(a=-a),Math.abs(u+this.lat0)<D)return null;i=U-.5*u,s=(i=2*(this.mode===this.S_POLE?Math.cos(i):Math.sin(i)))*Math.sin(c),i*=a}}else{switch(l=o=r=0,a=Math.cos(c),h=Math.sin(c),e=Math.sin(u),n=Vt(this.e,e),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(r=n/this.qp,o=Math.sqrt(1-r*r)),this.mode){case this.OBLIQ:l=1+this.sinb1*r+this.cosb1*o*a;break;case this.EQUIT:l=1+o*a;break;case this.N_POLE:l=z+u,n=this.qp-n;break;case this.S_POLE:l=u-z,n=this.qp+n}if(Math.abs(l)<D)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:l=Math.sqrt(2/l),i=this.mode===this.OBLIQ?this.ymf*l*(this.cosb1*r-this.sinb1*o*a):(l=Math.sqrt(2/(1+o*a)))*r*this.ymf,s=this.xmf*l*o*h;break;case this.N_POLE:case this.S_POLE:0<=n?(s=(l=Math.sqrt(n))*h,i=a*(this.mode===this.S_POLE?l:-l)):s=i=0}}return t.x=this.a*s+this.x0,t.y=this.a*i+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h,e,n,r,o,l,M,c=t.x/this.a,u=t.y/this.a;if(this.sphere){var f=0,m=0,p=Math.sqrt(c*c+u*u);if(1<(i=.5*p))return null;switch(i=2*Math.asin(i),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(m=Math.sin(i),f=Math.cos(i)),this.mode){case this.EQUIT:i=Math.abs(p)<=D?0:Math.asin(u*m/p),c*=m,u=f*p;break;case this.OBLIQ:i=Math.abs(p)<=D?this.lat0:Math.asin(f*this.sinph0+u*m*this.cosph0/p),c*=m*this.cosph0,u=(f-Math.sin(i)*this.sinph0)*p;break;case this.N_POLE:u=-u,i=z-i;break;case this.S_POLE:i-=z}s=0!==u||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(c,u):0}else{if(r=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(c/=this.dd,u*=this.dd,(n=Math.sqrt(c*c+u*u))<D)return t.x=this.long0,t.y=this.lat0,t;h=2*Math.asin(.5*n/this.rq),a=Math.cos(h),c*=h=Math.sin(h),u=this.mode===this.OBLIQ?(r=a*this.sinb1+u*h*this.cosb1/n,e=this.qp*r,n*this.cosb1*a-u*this.sinb1*h):(r=u*h/n,e=this.qp*r,n*a)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(u=-u),!(e=c*c+u*u))return t.x=this.long0,t.y=this.lat0,t;r=1-e/this.qp,this.mode===this.S_POLE&&(r=-r)}s=Math.atan2(c,u),o=Math.asin(r),l=this.apa,M=o+o,i=o+l[0]*Math.sin(M)+l[1]*Math.sin(M+M)+l[2]*Math.sin(M+M+M)}return t.x=nt(this.long0+s),t.y=i,t},names:["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],S_POLE:1,N_POLE:2,EQUIT:3,OBLIQ:4},fs={init:function(){Math.abs(this.lat1+this.lat2)<D||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=ht(this.e3,this.sin_po,this.cos_po),this.qs1=Vt(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=ht(this.e3,this.sin_po,this.cos_po),this.qs2=Vt(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=Vt(this.e3,this.sin_po,this.cos_po),Math.abs(this.lat1-this.lat2)>D?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},forward:function(t){var s=t.x,i=t.y;this.sin_phi=Math.sin(i),this.cos_phi=Math.cos(i);var a=Vt(this.e3,this.sin_phi,this.cos_phi),h=this.a*Math.sqrt(this.c-this.ns0*a)/this.ns0,e=this.ns0*nt(s-this.long0),n=h*Math.sin(e)+this.x0,r=this.rh-h*Math.cos(e)+this.y0;return t.x=n,t.y=r,t},inverse:function(t){var s,i,a,h,e,n;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,a=0<=this.ns0?(s=Math.sqrt(t.x*t.x+t.y*t.y),1):(s=-Math.sqrt(t.x*t.x+t.y*t.y),-1),(h=0)!==s&&(h=Math.atan2(a*t.x,a*t.y)),a=s*this.ns0/this.a,n=this.sphere?Math.asin((this.c-a*a)/(2*this.ns0)):(i=(this.c-a*a)/this.ns0,this.phi1z(this.e3,i)),e=nt(h/this.ns0+this.long0),t.x=e,t.y=n,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,s){var i,a,h,e,n=Zt(.5*s);if(t<D)return n;for(var r=t*t,o=1;o<=25;o++)if(n+=e=.5*(h=1-(a=t*(i=Math.sin(n)))*a)*h/Math.cos(n)*(s/(1-r)-i/h+.5/t*Math.log((1-a)/(1+a))),Math.abs(e)<=1e-7)return n;return null}},ms={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1},forward:function(t){var s,i,a=t.x,h=t.y,e=nt(a-this.long0),n=Math.sin(h),r=Math.cos(h),o=Math.cos(e),l=0<(s=this.sin_p14*n+this.cos_p14*r*o)||Math.abs(s)<=D?(i=this.x0+this.a*r*Math.sin(e)/s,this.y0+this.a*(this.cos_p14*n-this.sin_p14*r*o)/s):(i=this.x0+this.infinity_dist*r*Math.sin(e),this.y0+this.infinity_dist*(this.cos_p14*n-this.sin_p14*r*o));return t.x=i,t.y=l,t},inverse:function(t){var s,i,a,h,e,n;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,e=(s=Math.sqrt(t.x*t.x+t.y*t.y))?(h=Math.atan2(s,this.rc),i=Math.sin(h),a=Math.cos(h),n=Zt(a*this.sin_p14+t.y*i*this.cos_p14/s),e=Math.atan2(t.x*i,s*this.cos_p14*a-t.y*this.sin_p14*i),nt(this.long0+e)):(n=this.phic0,0),t.x=e,t.y=n,t},names:["gnom"]},ps={init:function(){this.sphere||(this.k0=ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0);return a=this.sphere?(i=this.x0+this.a*n*Math.cos(this.lat_ts),this.y0+this.a*Math.sin(e)/Math.cos(this.lat_ts)):(s=Vt(this.e,Math.sin(e)),i=this.x0+this.a*this.k0*n,this.y0+this.a*s*.5/this.k0),t.x=i,t.y=a,t},inverse:function(t){var s,i;return t.x-=this.x0,t.y-=this.y0,this.sphere?(s=nt(this.long0+t.x/this.a/Math.cos(this.lat_ts)),i=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(i=function(t,s){var i=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(s)-i)<1e-6)return s<0?-1*z:z;for(var a,h,e,n,r=Math.asin(.5*s),o=0;o<30;o++)if(h=Math.sin(r),e=Math.cos(r),n=t*h,r+=a=Math.pow(1-n*n,2)/(2*e)*(s/(1-t*t)-h/(1-n*n)+.5/t*Math.log((1-n)/(1+n))),Math.abs(a)<=1e-10)return r;return NaN}(this.e,2*t.y*this.k0/this.a),s=nt(this.long0+t.x/(this.a*this.k0))),t.x=s,t.y=i,t},names:["cea"]},ds={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Jt(i-this.lat0);return t.x=this.x0+this.a*a*this.rc,t.y=this.y0+this.a*h,t},inverse:function(t){var s=t.x,i=t.y;return t.x=nt(this.long0+(s-this.x0)/(this.a*this.rc)),t.y=Jt(this.lat0+(i-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]},ys={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.ml0=this.a*Ut(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0),r=n*Math.sin(e);return a=this.sphere?Math.abs(e)<=D?(i=this.a*n,-1*this.a*this.lat0):(i=this.a*Math.sin(r)/Math.tan(e),this.a*(Jt(e-this.lat0)+(1-Math.cos(r))/Math.tan(e))):Math.abs(e)<=D?(i=this.a*n,-1*this.ml0):(i=(s=Ht(this.a,this.e,Math.sin(e))/Math.tan(e))*Math.sin(r),this.a*Ut(this.e0,this.e1,this.e2,this.e3,e)-this.ml0+s*(1-Math.cos(r))),t.x=i+this.x0,t.y=a+this.y0,t},inverse:function(t){var s,i,a,h,e,n,r,o,l=t.x-this.x0,M=t.y-this.y0;if(this.sphere)if(Math.abs(M+this.a*this.lat0)<=D)s=nt(l/this.a+this.long0),i=0;else{for(var c,u=this.lat0+M/this.a,f=l*l/this.a/this.a+u*u,m=u,p=20;p;--p)if(m+=a=-1*(u*(m*(c=Math.tan(m))+1)-m-.5*(m*m+f)*c)/((m-u)/c-1),Math.abs(a)<=D){i=m;break}s=nt(this.long0+Math.asin(l*Math.tan(m)/this.a)/Math.sin(i))}else if(Math.abs(M+this.ml0)<=D)i=0,s=nt(this.long0+l/this.a);else{for(u=(this.ml0+M)/this.a,f=l*l/this.a/this.a+u*u,m=u,p=20;p;--p)if(o=this.e*Math.sin(m),h=Math.sqrt(1-o*o)*Math.tan(m),e=this.a*Ut(this.e0,this.e1,this.e2,this.e3,m),n=this.e0-2*this.e1*Math.cos(2*m)+4*this.e2*Math.cos(4*m)-6*this.e3*Math.cos(6*m),m-=a=(u*(h*(r=e/this.a)+1)-r-.5*h*(r*r+f))/(this.es*Math.sin(2*m)*(r*r+f-2*u*r)/(4*h)+(u-r)*(h*n-2/Math.sin(2*m))-n),Math.abs(a)<=D){i=m;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(i),2))*Math.tan(i),s=nt(this.long0+Math.asin(l*h/this.a)/Math.sin(i))}return t.x=s,t.y=i,t},names:["Polyconic","poly"]},_s={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},forward:function(t){for(var s=t.x,i=t.y-this.lat0,a=s-this.long0,h=i/j*1e-5,e=a,n=1,r=0,o=1;o<=10;o++)n*=h,r+=this.A[o]*n;var l,M=r,c=e,u=1,f=0,m=0,p=0;for(o=1;o<=6;o++)l=f*M+u*c,u=u*M-f*c,f=l,m=m+this.B_re[o]*u-this.B_im[o]*f,p=p+this.B_im[o]*u+this.B_re[o]*f;return t.x=p*this.a+this.x0,t.y=m*this.a+this.y0,t},inverse:function(t){var s,i=t.x,a=t.y,h=i-this.x0,e=(a-this.y0)/this.a,n=h/this.a,r=1,o=0,l=0,M=0;for(y=1;y<=6;y++)s=o*e+r*n,r=r*e-o*n,o=s,l=l+this.C_re[y]*r-this.C_im[y]*o,M=M+this.C_im[y]*r+this.C_re[y]*o;for(var c=0;c<this.iterations;c++){for(var u,f=l,m=M,p=e,d=n,y=2;y<=6;y++)u=m*l+f*M,f=f*l-m*M,m=u,p+=(y-1)*(this.B_re[y]*f-this.B_im[y]*m),d+=(y-1)*(this.B_im[y]*f+this.B_re[y]*m);f=1,m=0;var _=this.B_re[1],x=this.B_im[1];for(y=2;y<=6;y++)u=m*l+f*M,f=f*l-m*M,m=u,_+=y*(this.B_re[y]*f-this.B_im[y]*m),x+=y*(this.B_im[y]*f+this.B_re[y]*m);var g=_*_+x*x,l=(p*_+d*x)/g,M=(d*_-p*x)/g}var b=l,v=M,w=1,C=0;for(y=1;y<=9;y++)w*=b,C+=this.D[y]*w;var P=this.lat0+C*j*1e5,S=this.long0+v;return t.x=S,t.y=P,t},names:["New_Zealand_Map_Grid","nzmg"]},xs={init:function(){},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=this.x0+this.a*a,e=this.y0+this.a*Math.log(Math.tan(Math.PI/4+i/2.5))*1.25;return t.x=h,t.y=e,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s=nt(this.long0+t.x/this.a),i=2.5*(Math.atan(Math.exp(.8*t.y/this.a))-Math.PI/4);return t.x=s,t.y=i,t},names:["Miller_Cylindrical","mill"]},gs={init:function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=At(this.es)},forward:function(t){var s=t.x,i=t.y,s=nt(s-this.long0);if(this.sphere){if(this.m)for(var a=this.n*Math.sin(i),h=20;h;--h){var e=(this.m*i+Math.sin(i)-a)/(this.m+Math.cos(i));if(i-=e,Math.abs(e)<D)break}else i=1!==this.n?Math.asin(this.n*Math.sin(i)):i;l=this.a*this.C_x*s*(this.m+Math.cos(i)),o=this.a*this.C_y*i}else var n=Math.sin(i),r=Math.cos(i),o=this.a*Gt(i,n,r,this.en),l=this.a*s*r/Math.sqrt(1-this.es*n*n);return t.x=l,t.y=o,t},inverse:function(t){var s,i,a,h;return t.x-=this.x0,a=t.x/this.a,t.y-=this.y0,s=t.y/this.a,this.sphere?(s/=this.C_y,a/=this.C_x*(this.m+Math.cos(s)),this.m?s=Zt((this.m*s+Math.sin(s))/this.n):1!==this.n&&(s=Zt(Math.sin(s)/this.n)),a=nt(a+this.long0),s=Jt(s)):(s=jt(t.y/this.a,this.es,this.en),(h=Math.abs(s))<z?(h=Math.sin(s),i=this.long0+t.x*Math.sqrt(1-this.es*h*h)/(this.a*Math.cos(s)),a=nt(i)):h-D<z&&(a=this.long0)),t.x=a,t.y=s,t},names:["Sinusoidal","sinu"]},bs={init:function(){},forward:function(t){for(var s=t.x,i=t.y,a=nt(s-this.long0),h=i,e=Math.PI*Math.sin(i);;){var n=-(h+Math.sin(h)-e)/(1+Math.cos(h));if(h+=n,Math.abs(n)<D)break}h/=2,Math.PI/2-Math.abs(i)<D&&(a=0);var r=.900316316158*this.a*a*Math.cos(h)+this.x0,o=1.4142135623731*this.a*Math.sin(h)+this.y0;return t.x=r,t.y=o,t},inverse:function(t){var s,i;t.x-=this.x0,t.y-=this.y0,i=t.y/(1.4142135623731*this.a),.999999999999<Math.abs(i)&&(i=.999999999999),s=Math.asin(i);var a=nt(this.long0+t.x/(.900316316158*this.a*Math.cos(s)));a<-Math.PI&&(a=-Math.PI),a>Math.PI&&(a=Math.PI),i=(2*s+Math.sin(2*s))/Math.PI,1<Math.abs(i)&&(i=1);var h=Math.asin(i);return t.x=a,t.y=h,t},names:["Mollweide","moll"]},vs={init:function(){Math.abs(this.lat1+this.lat2)<D||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=ht(this.e,this.sinphi,this.cosphi),this.ml1=Ut(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<D?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=ht(this.e,this.sinphi,this.cosphi),this.ml2=Ut(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=Ut(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))},forward:function(t){var s,i,a=t.x,h=t.y;i=this.sphere?this.a*(this.g-h):(s=Ut(this.e0,this.e1,this.e2,this.e3,h),this.a*(this.g-s));var e=this.ns*nt(a-this.long0),n=this.x0+i*Math.sin(e),r=this.y0+this.rh-i*Math.cos(e);return t.x=n,t.y=r,t},inverse:function(t){var s,i;t.x-=this.x0,t.y=this.rh-t.y+this.y0,s=0<=this.ns?(i=Math.sqrt(t.x*t.x+t.y*t.y),1):(i=-Math.sqrt(t.x*t.x+t.y*t.y),-1);var a=0;if(0!==i&&(a=Math.atan2(s*t.x,s*t.y)),this.sphere)return n=nt(this.long0+a/this.ns),e=Jt(this.g-i/this.a),t.x=n,t.y=e,t;var h=this.g-i/this.a,e=Kt(h,this.e0,this.e1,this.e2,this.e3),n=nt(this.long0+a/this.ns);return t.x=n,t.y=e,t},names:["Equidistant_Conic","eqdc"]},ws={init:function(){this.R=this.a},forward:function(t){var s,i=t.x,a=t.y,h=nt(i-this.long0);Math.abs(a)<=D&&(s=this.x0+this.R*h,d=this.y0);var e=Zt(2*Math.abs(a/Math.PI));(Math.abs(h)<=D||Math.abs(Math.abs(a)-z)<=D)&&(s=this.x0,d=0<=a?this.y0+Math.PI*this.R*Math.tan(.5*e):this.y0+Math.PI*this.R*-Math.tan(.5*e));var n=.5*Math.abs(Math.PI/h-h/Math.PI),r=n*n,o=Math.sin(e),l=Math.cos(e),M=l/(o+l-1),c=M*M,u=M*(2/o-1),f=u*u,m=Math.PI*this.R*(n*(M-f)+Math.sqrt(r*(M-f)*(M-f)-(f+r)*(c-f)))/(f+r);h<0&&(m=-m),s=this.x0+m;var p=r+M,m=Math.PI*this.R*(u*p-n*Math.sqrt((f+r)*(1+r)-p*p))/(f+r),d=0<=a?this.y0+m:this.y0-m;return t.x=s,t.y=d,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u;return t.x-=this.x0,t.y-=this.y0,c=Math.PI*this.R,e=(a=t.x/c)*a+(h=t.y/c)*h,c=3*(h*h/(o=-2*(n=-Math.abs(h)*(1+e))+1+2*h*h+e*e)+(2*(r=n-2*h*h+a*a)*r*r/o/o/o-9*n*r/o/o)/27)/(l=(n-r*r/3/o)/o)/(M=2*Math.sqrt(-l/3)),1<Math.abs(c)&&(c=0<=c?1:-1),u=Math.acos(c)/3,i=0<=t.y?(-M*Math.cos(u+Math.PI/3)-r/3/o)*Math.PI:-(-M*Math.cos(u+Math.PI/3)-r/3/o)*Math.PI,s=Math.abs(a)<D?this.long0:nt(this.long0+Math.PI*(e-1+Math.sqrt(1+2*(a*a-h*h)+e*e))/2/a),t.x=s,t.y=i,t},names:["Van_der_Grinten_I","VanDerGrinten","vandg"]},Cs={init:function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w=t.x,C=t.y,P=Math.sin(t.y),S=Math.cos(t.y),N=nt(w-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=D?(t.x=this.x0+this.a*(z-C)*Math.sin(N),t.y=this.y0-this.a*(z-C)*Math.cos(N)):Math.abs(this.sin_p12+1)<=D?(t.x=this.x0+this.a*(z+C)*Math.sin(N),t.y=this.y0+this.a*(z+C)*Math.cos(N)):(_=this.sin_p12*P+this.cos_p12*S*Math.cos(N),y=(d=Math.acos(_))?d/Math.sin(d):1,t.x=this.x0+this.a*y*S*Math.sin(N),t.y=this.y0+this.a*y*(this.cos_p12*P-this.sin_p12*S*Math.cos(N))):(s=Ft(this.es),i=Qt(this.es),a=Wt(this.es),h=Xt(this.es),Math.abs(this.sin_p12-1)<=D?(e=this.a*Ut(s,i,a,h,z),n=this.a*Ut(s,i,a,h,C),t.x=this.x0+(e-n)*Math.sin(N),t.y=this.y0-(e-n)*Math.cos(N)):Math.abs(this.sin_p12+1)<=D?(e=this.a*Ut(s,i,a,h,z),n=this.a*Ut(s,i,a,h,C),t.x=this.x0+(e+n)*Math.sin(N),t.y=this.y0+(e+n)*Math.cos(N)):(r=P/S,o=Ht(this.a,this.e,this.sin_p12),l=Ht(this.a,this.e,P),M=Math.atan((1-this.es)*r+this.es*o*this.sin_p12/(l*S)),x=0===(c=Math.atan2(Math.sin(N),this.cos_p12*Math.tan(M)-this.sin_p12*Math.cos(N)))?Math.asin(this.cos_p12*Math.sin(M)-this.sin_p12*Math.cos(M)):Math.abs(Math.abs(c)-Math.PI)<=D?-Math.asin(this.cos_p12*Math.sin(M)-this.sin_p12*Math.cos(M)):Math.asin(Math.sin(N)*Math.cos(M)/Math.sin(c)),u=this.e*this.sin_p12/Math.sqrt(1-this.es),d=o*x*(1-(g=x*x)*(p=(f=this.e*this.cos_p12*Math.cos(c)/Math.sqrt(1-this.es))*f)*(1-p)/6+(b=g*x)/8*(m=u*f)*(1-2*p)+(v=b*x)/120*(p*(4-7*p)-3*u*u*(1-7*p))-v*x/48*m),t.x=this.x0+d*Math.sin(c),t.y=this.y0+d*Math.cos(c))),t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w;if(t.x-=this.x0,t.y-=this.y0,this.sphere){if((s=Math.sqrt(t.x*t.x+t.y*t.y))>2*z*this.a)return;return i=s/this.a,a=Math.sin(i),h=Math.cos(i),e=this.long0,Math.abs(s)<=D?n=this.lat0:(n=Zt(h*this.sin_p12+t.y*a*this.cos_p12/s),r=Math.abs(this.lat0)-z,e=nt(Math.abs(r)<=D?0<=this.lat0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y):this.long0+Math.atan2(t.x*a,s*this.cos_p12*h-t.y*this.sin_p12*a))),t.x=e,t.y=n,t}return o=Ft(this.es),l=Qt(this.es),M=Wt(this.es),c=Xt(this.es),Math.abs(this.sin_p12-1)<=D?(u=this.a*Ut(o,l,M,c,z),s=Math.sqrt(t.x*t.x+t.y*t.y),n=Kt((u-s)/this.a,o,l,M,c),e=nt(this.long0+Math.atan2(t.x,-1*t.y))):Math.abs(this.sin_p12+1)<=D?(u=this.a*Ut(o,l,M,c,z),s=Math.sqrt(t.x*t.x+t.y*t.y),n=Kt((s-u)/this.a,o,l,M,c),e=nt(this.long0+Math.atan2(t.x,t.y))):(s=Math.sqrt(t.x*t.x+t.y*t.y),p=Math.atan2(t.x,t.y),f=Ht(this.a,this.e,this.sin_p12),d=Math.cos(p),_=-(y=this.e*this.cos_p12*d)*y/(1-this.es),x=3*this.es*(1-_)*this.sin_p12*this.cos_p12*d/(1-this.es),v=1-_*(b=(g=s/f)-_*(1+_)*Math.pow(g,3)/6-x*(1+3*_)*Math.pow(g,4)/24)*b/2-g*b*b*b/6,m=Math.asin(this.sin_p12*Math.cos(b)+this.cos_p12*Math.sin(b)*d),e=nt(this.long0+Math.asin(Math.sin(p)*Math.sin(b)/Math.cos(m))),w=Math.sin(m),n=Math.atan2((w-this.es*v*this.sin_p12)*Math.tan(m),w*(1-this.es))),t.x=e,t.y=n,t},names:["Azimuthal_Equidistant","aeqd"]},Ps={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0),r=Math.sin(e),o=Math.cos(e),l=Math.cos(n);return(0<(s=this.sin_p14*r+this.cos_p14*o*l)||Math.abs(s)<=D)&&(i=this.a*o*Math.sin(n),a=this.y0+this.a*(this.cos_p14*r-this.sin_p14*o*l)),t.x=i,t.y=a,t},inverse:function(t){var s,i,a,h,e,n,r;return t.x-=this.x0,t.y-=this.y0,s=Math.sqrt(t.x*t.x+t.y*t.y),i=Zt(s/this.a),a=Math.sin(i),h=Math.cos(i),n=this.long0,Math.abs(s)<=D?r=this.lat0:(r=Zt(h*this.sin_p14+t.y*a*this.cos_p14/s),e=Math.abs(this.lat0)-z,n=Math.abs(e)<=D?nt(0<=this.lat0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y)):nt(this.long0+Math.atan2(t.x*a,s*this.cos_p14*h-t.y*this.sin_p14*a))),t.x=n,t.y=r,t},names:["ortho"]},Ss=1,Ns=2,ks=3,Es=4,qs=5,Is=6,Os=1,As=2,Gs=3,js=4,zs={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=z-U/2?this.face=qs:this.lat0<=-(z-U/2)?this.face=Is:Math.abs(this.long0)<=U?this.face=Ss:Math.abs(this.long0)<=z+U?this.face=0<this.long0?Ns:Es:this.face=ks,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f={x:0,y:0},m={value:0};return t.x-=this.long0,s=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,i=t.x,this.face===qs?(h=z-s,a=U<=i&&i<=z+U?(m.value=Os,i-z):z+U<i||i<=-(z+U)?(m.value=As,0<i?i-Q:i+Q):-(z+U)<i&&i<=-U?(m.value=Gs,i+z):(m.value=js,i)):this.face===Is?(h=z+s,a=U<=i&&i<=z+U?(m.value=Os,z-i):i<U&&-U<=i?(m.value=As,-i):i<-U&&-(z+U)<=i?(m.value=Gs,-i-z):(m.value=js,0<i?Q-i:-i-Q)):(this.face===Ns?i=S(i,+z):this.face===ks?i=S(i,+Q):this.face===Es&&(i=S(i,-z)),M=Math.sin(s),c=Math.cos(s),u=Math.sin(i),r=c*Math.cos(i),o=c*u,l=M,this.face===Ss?a=P(h=Math.acos(r),l,o,m):this.face===Ns?a=P(h=Math.acos(o),l,-r,m):this.face===ks?a=P(h=Math.acos(-r),l,-o,m):this.face===Es?a=P(h=Math.acos(-o),l,r,m):(h=a=0,m.value=Os)),n=Math.atan(12/Q*(a+Math.acos(Math.sin(a)*Math.cos(U))-z)),e=Math.sqrt((1-Math.cos(h))/(Math.cos(n)*Math.cos(n))/(1-Math.cos(Math.atan(1/Math.cos(a))))),m.value===As?n+=z:m.value===Gs?n+=Q:m.value===js&&(n+=1.5*Q),f.x=e*Math.cos(n),f.y=e*Math.sin(n),f.x=f.x*this.a+this.x0,f.y=f.y*this.a+this.y0,t.x=f.x,t.y=f.y,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d={lam:0,phi:0},y={value:0};return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,i=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),s=Math.atan2(t.y,t.x),0<=t.x&&t.x>=Math.abs(t.y)?y.value=Os:0<=t.y&&t.y>=Math.abs(t.x)?(y.value=As,s-=z):t.x<0&&-t.x>=Math.abs(t.y)?(y.value=Gs,s=s<0?s+Q:s-Q):(y.value=js,s+=z),c=Q/12*Math.tan(s),e=Math.sin(c)/(Math.cos(c)-1/Math.sqrt(2)),n=Math.atan(e),(r=1-(a=Math.cos(s))*a*(h=Math.tan(i))*h*(1-Math.cos(Math.atan(1/Math.cos(n)))))<-1?r=-1:1<r&&(r=1),this.face===qs?(o=Math.acos(r),d.phi=z-o,y.value===Os?d.lam=n+z:y.value===As?d.lam=n<0?n+Q:n-Q:y.value===Gs?d.lam=n-z:d.lam=n):this.face===Is?(o=Math.acos(r),d.phi=o-z,y.value===Os?d.lam=z-n:y.value===As?d.lam=-n:y.value===Gs?d.lam=-n-z:d.lam=n<0?-n-Q:Q-n):(c=(l=r)*l,u=1<=(c+=(M=1<=c?0:Math.sqrt(1-c)*Math.sin(n))*M)?0:Math.sqrt(1-c),y.value===As?(c=u,u=-M,M=c):y.value===Gs?(u=-u,M=-M):y.value===js&&(c=u,u=M,M=-c),this.face===Ns?(c=l,l=-u,u=c):this.face===ks?(l=-l,u=-u):this.face===Es&&(c=l,l=u,u=-c),d.phi=Math.acos(-M)-z,d.lam=Math.atan2(u,l),this.face===Ns?d.lam=S(d.lam,-z):this.face===ks?d.lam=S(d.lam,-Q):this.face===Es&&(d.lam=S(d.lam,+z))),0!==this.es&&(f=d.phi<0?1:0,m=Math.tan(d.phi),p=this.b/Math.sqrt(m*m+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-p*p)/(this.one_minus_f*p)),f&&(d.phi=-d.phi)),d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]},Rs=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Ls=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Ts=B/5,Ds=1/Ts,Bs={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"},forward:function(t){var s=nt(t.x-this.long0),i=Math.abs(t.y),a=Math.floor(i*Ts);a<0?a=0:18<=a&&(a=17);var h={x:Yt(Rs[a],i=B*(i-Ds*a))*s,y:Yt(Ls[a],i)};return t.y<0&&(h.y=-h.y),h.x=h.x*this.a*.8487+this.x0,h.y=h.y*this.a*1.3523+this.y0,h},inverse:function(t){var a={x:(t.x-this.x0)/(.8487*this.a),y:Math.abs(t.y-this.y0)/(1.3523*this.a)};if(1<=a.y)a.x/=Rs[18][0],a.y=t.y<0?-z:z;else{var s=Math.floor(18*a.y);for(s<0?s=0:18<=s&&(s=17);;)if(Ls[s][0]>a.y)--s;else{if(!(Ls[s+1][0]<=a.y))break;++s}var h=Ls[s],i=function(t,s,i,a){for(var h=s;a;--a){var e=t(h);if(h-=e,Math.abs(e)<i)break}return h}(function(t){return(Yt(h,t)-a.y)/(i=t,(s=h)[1]+i*(2*s[2]+3*i*s[3]));var s,i},i=5*(a.y-h[0])/(Ls[s+1][0]-h[0]),D,100);a.x/=Yt(Rs[s],i),a.y=(5*s+i)*N,t.y<0&&(a.y=-a.y)}return a.x=nt(a.x+this.long0),a},names:["Robinson","robin"]},Us={init:function(){this.name="geocent"},forward:function(t){return M(t,this.es,this.a)},inverse:function(t){return c(t,this.es,this.a,this.b)},names:["Geocentric","geocentric","geocent","Geocent"]};return a.defaultDatum="WGS84",a.Proj=q,a.WGS84=new a.Proj("WGS84"),a.Point=C,a.toPoint=bt,a.defs=l,a.transform=f,a.mgrs=Ot,a.version="2.6.2",($t=a).Proj.projections.add(ss),$t.Proj.projections.add(is),$t.Proj.projections.add(as),$t.Proj.projections.add(es),$t.Proj.projections.add(ns),$t.Proj.projections.add(rs),$t.Proj.projections.add(os),$t.Proj.projections.add(ls),$t.Proj.projections.add(Ms),$t.Proj.projections.add(cs),$t.Proj.projections.add(us),$t.Proj.projections.add(fs),$t.Proj.projections.add(ms),$t.Proj.projections.add(ps),$t.Proj.projections.add(ds),$t.Proj.projections.add(ys),$t.Proj.projections.add(_s),$t.Proj.projections.add(xs),$t.Proj.projections.add(gs),$t.Proj.projections.add(bs),$t.Proj.projections.add(vs),$t.Proj.projections.add(ws),$t.Proj.projections.add(Cs),$t.Proj.projections.add(Ps),$t.Proj.projections.add(zs),$t.Proj.projections.add(Bs),$t.Proj.projections.add(Us),a});</script>
<script>(function (factory) {
	var L, proj4;
	if (typeof define === 'function' && define.amd) {
		// AMD
		define(['leaflet', 'proj4'], factory);
	} else if (typeof module === 'object' && typeof module.exports === "object") {
		// Node/CommonJS
		L = require('leaflet');
		proj4 = require('proj4');
		module.exports = factory(L, proj4);
	} else {
		// Browser globals
		if (typeof window.L === 'undefined' || typeof window.proj4 === 'undefined')
			throw 'Leaflet and proj4 must be loaded first';
		factory(window.L, window.proj4);
	}
}(function (L, proj4) {
	if (proj4.__esModule && proj4.default) {
		// If proj4 was bundled as an ES6 module, unwrap it to get
		// to the actual main proj4 object.
		// See discussion in https://github.com/kartena/Proj4Leaflet/pull/147
		proj4 = proj4.default;
	}
 
	L.Proj = {};

	L.Proj._isProj4Obj = function(a) {
		return (typeof a.inverse !== 'undefined' &&
			typeof a.forward !== 'undefined');
	};

	L.Proj.Projection = L.Class.extend({
		initialize: function(code, def, bounds) {
			var isP4 = L.Proj._isProj4Obj(code);
			this._proj = isP4 ? code : this._projFromCodeDef(code, def);
			this.bounds = isP4 ? def : bounds;
		},

		project: function (latlng) {
			var point = this._proj.forward([latlng.lng, latlng.lat]);
			return new L.Point(point[0], point[1]);
		},

		unproject: function (point, unbounded) {
			var point2 = this._proj.inverse([point.x, point.y]);
			return new L.LatLng(point2[1], point2[0], unbounded);
		},

		_projFromCodeDef: function(code, def) {
			if (def) {
				proj4.defs(code, def);
			} else if (proj4.defs[code] === undefined) {
				var urn = code.split(':');
				if (urn.length > 3) {
					code = urn[urn.length - 3] + ':' + urn[urn.length - 1];
				}
				if (proj4.defs[code] === undefined) {
					throw 'No projection definition for code ' + code;
				}
			}

			return proj4(code);
		}
	});

	L.Proj.CRS = L.Class.extend({
		includes: L.CRS,

		options: {
			transformation: new L.Transformation(1, 0, -1, 0)
		},

		initialize: function(a, b, c) {
			var code,
			    proj,
			    def,
			    options;

			if (L.Proj._isProj4Obj(a)) {
				proj = a;
				code = proj.srsCode;
				options = b || {};

				this.projection = new L.Proj.Projection(proj, options.bounds);
			} else {
				code = a;
				def = b;
				options = c || {};
				this.projection = new L.Proj.Projection(code, def, options.bounds);
			}

			L.Util.setOptions(this, options);
			this.code = code;
			this.transformation = this.options.transformation;

			if (this.options.origin) {
				this.transformation =
					new L.Transformation(1, -this.options.origin[0],
						-1, this.options.origin[1]);
			}

			if (this.options.scales) {
				this._scales = this.options.scales;
			} else if (this.options.resolutions) {
				this._scales = [];
				for (var i = this.options.resolutions.length - 1; i >= 0; i--) {
					if (this.options.resolutions[i]) {
						this._scales[i] = 1 / this.options.resolutions[i];
					}
				}
			}

			this.infinite = !this.options.bounds;

		},

		scale: function(zoom) {
			var iZoom = Math.floor(zoom),
				baseScale,
				nextScale,
				scaleDiff,
				zDiff;
			if (zoom === iZoom) {
				return this._scales[zoom];
			} else {
				// Non-integer zoom, interpolate
				baseScale = this._scales[iZoom];
				nextScale = this._scales[iZoom + 1];
				scaleDiff = nextScale - baseScale;
				zDiff = (zoom - iZoom);
				return baseScale + scaleDiff * zDiff;
			}
		},

		zoom: function(scale) {
			// Find closest number in this._scales, down
			var downScale = this._closestElement(this._scales, scale),
				downZoom = this._scales.indexOf(downScale),
				nextScale,
				nextZoom,
				scaleDiff;
			// Check if scale is downScale => return array index
			if (scale === downScale) {
				return downZoom;
			}
			if (downScale === undefined) {
				return -Infinity;
			}
			// Interpolate
			nextZoom = downZoom + 1;
			nextScale = this._scales[nextZoom];
			if (nextScale === undefined) {
				return Infinity;
			}
			scaleDiff = nextScale - downScale;
			return (scale - downScale) / scaleDiff + downZoom;
		},

		distance: L.CRS.Earth.distance,

		R: L.CRS.Earth.R,

		/* Get the closest lowest element in an array */
		_closestElement: function(array, element) {
			var low;
			for (var i = array.length; i--;) {
				if (array[i] <= element && (low === undefined || low < array[i])) {
					low = array[i];
				}
			}
			return low;
		}
	});

	L.Proj.GeoJSON = L.GeoJSON.extend({
		initialize: function(geojson, options) {
			this._callLevel = 0;
			L.GeoJSON.prototype.initialize.call(this, geojson, options);
		},

		addData: function(geojson) {
			var crs;

			if (geojson) {
				if (geojson.crs && geojson.crs.type === 'name') {
					crs = new L.Proj.CRS(geojson.crs.properties.name);
				} else if (geojson.crs && geojson.crs.type) {
					crs = new L.Proj.CRS(geojson.crs.type + ':' + geojson.crs.properties.code);
				}

				if (crs !== undefined) {
					this.options.coordsToLatLng = function(coords) {
						var point = L.point(coords[0], coords[1]);
						return crs.projection.unproject(point);
					};
				}
			}

			// Base class' addData might call us recursively, but
			// CRS shouldn't be cleared in that case, since CRS applies
			// to the whole GeoJSON, inluding sub-features.
			this._callLevel++;
			try {
				L.GeoJSON.prototype.addData.call(this, geojson);
			} finally {
				this._callLevel--;
				if (this._callLevel === 0) {
					delete this.options.coordsToLatLng;
				}
			}
		}
	});

	L.Proj.geoJson = function(geojson, options) {
		return new L.Proj.GeoJSON(geojson, options);
	};

	L.Proj.ImageOverlay = L.ImageOverlay.extend({
		initialize: function (url, bounds, options) {
			L.ImageOverlay.prototype.initialize.call(this, url, null, options);
			this._projectedBounds = bounds;
		},

		// Danger ahead: Overriding internal methods in Leaflet.
		// Decided to do this rather than making a copy of L.ImageOverlay
		// and doing very tiny modifications to it.
		// Future will tell if this was wise or not.
		_animateZoom: function (event) {
			var scale = this._map.getZoomScale(event.zoom);
			var northWest = L.point(this._projectedBounds.min.x, this._projectedBounds.max.y);
			var offset = this._projectedToNewLayerPoint(northWest, event.zoom, event.center);

			L.DomUtil.setTransform(this._image, offset, scale);
		},

		_reset: function () {
			var zoom = this._map.getZoom();
			var pixelOrigin = this._map.getPixelOrigin();
			var bounds = L.bounds(
				this._transform(this._projectedBounds.min, zoom)._subtract(pixelOrigin),
				this._transform(this._projectedBounds.max, zoom)._subtract(pixelOrigin)
			);
			var size = bounds.getSize();

			L.DomUtil.setPosition(this._image, bounds.min);
			this._image.style.width = size.x + 'px';
			this._image.style.height = size.y + 'px';
		},

		_projectedToNewLayerPoint: function (point, zoom, center) {
			var viewHalf = this._map.getSize()._divideBy(2);
			var newTopLeft = this._map.project(center, zoom)._subtract(viewHalf)._round();
			var topLeft = newTopLeft.add(this._map._getMapPanePos());

			return this._transform(point, zoom)._subtract(topLeft);
		},

		_transform: function (point, zoom) {
			var crs = this._map.options.crs;
			var transformation = crs.transformation;
			var scale = crs.scale(zoom);

			return transformation.transform(point, scale);
		}
	});

	L.Proj.imageOverlay = function (url, bounds, options) {
		return new L.Proj.ImageOverlay(url, bounds, options);
	};

	return L.Proj;
}));
</script>
<style type="text/css">.leaflet-tooltip.leaflet-tooltip-text-only,
.leaflet-tooltip.leaflet-tooltip-text-only:before,
.leaflet-tooltip.leaflet-tooltip-text-only:after {
background: none;
border: none;
box-shadow: none;
}
.leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-left {
margin-left: 5px;
}
.leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-right {
margin-left: -5px;
}
.leaflet-tooltip:after {
border-right: 6px solid transparent;

}
.leaflet-popup-pane .leaflet-popup-tip-container {

pointer-events: all;

cursor: pointer;
}

.leaflet-map-pane {
z-index: auto;
}

.leaflet-container .leaflet-right-pane img,
.leaflet-container .leaflet-left-pane img {
max-width: none !important;
max-height: none !important;
}
</style>
<script>(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = undefined;

var _util = require("./util");

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var ClusterLayerStore = /*#__PURE__*/function () {
  function ClusterLayerStore(group) {
    _classCallCheck(this, ClusterLayerStore);

    this._layers = {};
    this._group = group;
  }

  _createClass(ClusterLayerStore, [{
    key: "add",
    value: function add(layer, id) {
      if (typeof id !== "undefined" && id !== null) {
        if (this._layers[id]) {
          this._group.removeLayer(this._layers[id]);
        }

        this._layers[id] = layer;
      }

      this._group.addLayer(layer);
    }
  }, {
    key: "remove",
    value: function remove(id) {
      if (typeof id === "undefined" || id === null) {
        return;
      }

      id = (0, _util.asArray)(id);

      for (var i = 0; i < id.length; i++) {
        if (this._layers[id[i]]) {
          this._group.removeLayer(this._layers[id[i]]);

          delete this._layers[id[i]];
        }
      }
    }
  }, {
    key: "clear",
    value: function clear() {
      this._layers = {};

      this._group.clearLayers();
    }
  }]);

  return ClusterLayerStore;
}();

exports["default"] = ClusterLayerStore;


},{"./util":17}],2:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var ControlStore = /*#__PURE__*/function () {
  function ControlStore(map) {
    _classCallCheck(this, ControlStore);

    this._controlsNoId = [];
    this._controlsById = {};
    this._map = map;
  }

  _createClass(ControlStore, [{
    key: "add",
    value: function add(control, id, html) {
      if (typeof id !== "undefined" && id !== null) {
        if (this._controlsById[id]) {
          this._map.removeControl(this._controlsById[id]);
        }

        this._controlsById[id] = control;
      } else {
        this._controlsNoId.push(control);
      }

      this._map.addControl(control);
    }
  }, {
    key: "get",
    value: function get(id) {
      var control = null;

      if (this._controlsById[id]) {
        control = this._controlsById[id];
      }

      return control;
    }
  }, {
    key: "remove",
    value: function remove(id) {
      if (this._controlsById[id]) {
        var control = this._controlsById[id];

        this._map.removeControl(control);

        delete this._controlsById[id];
      }
    }
  }, {
    key: "clear",
    value: function clear() {
      for (var i = 0; i < this._controlsNoId.length; i++) {
        var control = this._controlsNoId[i];

        this._map.removeControl(control);
      }

      this._controlsNoId = [];

      for (var key in this._controlsById) {
        var _control = this._controlsById[key];

        this._map.removeControl(_control);
      }

      this._controlsById = {};
    }
  }]);

  return ControlStore;
}();

exports["default"] = ControlStore;


},{}],3:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.getCRS = getCRS;

var _leaflet = require("./global/leaflet");

var _leaflet2 = _interopRequireDefault(_leaflet);

var _proj4leaflet = require("./global/proj4leaflet");

var _proj4leaflet2 = _interopRequireDefault(_proj4leaflet);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

// Helper function to instanciate a ICRS instance.
function getCRS(crsOptions) {
  var crs = _leaflet2["default"].CRS.EPSG3857; // Default Spherical Mercator

  switch (crsOptions.crsClass) {
    case "L.CRS.EPSG3857":
      crs = _leaflet2["default"].CRS.EPSG3857;
      break;

    case "L.CRS.EPSG4326":
      crs = _leaflet2["default"].CRS.EPSG4326;
      break;

    case "L.CRS.EPSG3395":
      crs = _leaflet2["default"].CRS.EPSG3395;
      break;

    case "L.CRS.Simple":
      crs = _leaflet2["default"].CRS.Simple;
      break;

    case "L.Proj.CRS":
      if (crsOptions.options && crsOptions.options.bounds) {
        crsOptions.options.bounds = _leaflet2["default"].bounds(crsOptions.options.bounds);
      }

      if (crsOptions.options && crsOptions.options.transformation) {
        crsOptions.options.transformation = new _leaflet2["default"].Transformation(crsOptions.options.transformation[0], crsOptions.options.transformation[1], crsOptions.options.transformation[2], crsOptions.options.transformation[3]);
      }

      crs = new _proj4leaflet2["default"].CRS(crsOptions.code, crsOptions.proj4def, crsOptions.options);
      break;

    case "L.Proj.CRS.TMS":
      if (crsOptions.options && crsOptions.options.bounds) {
        crsOptions.options.bounds = _leaflet2["default"].bounds(crsOptions.options.bounds);
      }

      if (crsOptions.options && crsOptions.options.transformation) {
        crsOptions.options.transformation = _leaflet2["default"].Transformation(crsOptions.options.transformation[0], crsOptions.options.transformation[1], crsOptions.options.transformation[2], crsOptions.options.transformation[3]);
      } // L.Proj.CRS.TMS is deprecated as of Leaflet 1.x, fall back to L.Proj.CRS
      //crs = new Proj4Leaflet.CRS.TMS(crsOptions.code, crsOptions.proj4def, crsOptions.projectedBounds, crsOptions.options);


      crs = new _proj4leaflet2["default"].CRS(crsOptions.code, crsOptions.proj4def, crsOptions.options);
      break;
  }

  return crs;
}


},{"./global/leaflet":10,"./global/proj4leaflet":11}],4:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = undefined;

var _util = require("./util");

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var DataFrame = /*#__PURE__*/function () {
  function DataFrame() {
    _classCallCheck(this, DataFrame);

    this.columns = [];
    this.colnames = [];
    this.colstrict = [];
    this.effectiveLength = 0;
    this.colindices = {};
  }

  _createClass(DataFrame, [{
    key: "_updateCachedProperties",
    value: function _updateCachedProperties() {
      var _this = this;

      this.effectiveLength = 0;
      this.colindices = {};
      this.columns.forEach(function (column, i) {
        _this.effectiveLength = Math.max(_this.effectiveLength, column.length);
        _this.colindices[_this.colnames[i]] = i;
      });
    }
  }, {
    key: "_colIndex",
    value: function _colIndex(colname) {
      var index = this.colindices[colname];
      if (typeof index === "undefined") return -1;
      return index;
    }
  }, {
    key: "col",
    value: function col(name, values, strict) {
      if (typeof name !== "string") throw new Error("Invalid column name \"" + name + "\"");

      var index = this._colIndex(name);

      if (arguments.length === 1) {
        if (index < 0) return null;else return (0, _util.recycle)(this.columns[index], this.effectiveLength);
      }

      if (index < 0) {
        index = this.colnames.length;
        this.colnames.push(name);
      }

      this.columns[index] = (0, _util.asArray)(values);
      this.colstrict[index] = !!strict; // TODO: Validate strictness (ensure lengths match up with other stricts)

      this._updateCachedProperties();

      return this;
    }
  }, {
    key: "cbind",
    value: function cbind(obj, strict) {
      var _this2 = this;

      Object.keys(obj).forEach(function (name) {
        var coldata = obj[name];

        _this2.col(name, coldata);
      });
      return this;
    }
  }, {
    key: "get",
    value: function get(row, col, missingOK) {
      var _this3 = this;

      if (row > this.effectiveLength) throw new Error("Row argument was out of bounds: " + row + " > " + this.effectiveLength);
      var colIndex = -1;

      if (typeof col === "undefined") {
        var rowData = {};
        this.colnames.forEach(function (name, i) {
          rowData[name] = _this3.columns[i][row % _this3.columns[i].length];
        });
        return rowData;
      } else if (typeof col === "string") {
        colIndex = this._colIndex(col);
      } else if (typeof col === "number") {
        colIndex = col;
      }

      if (colIndex < 0 || colIndex > this.columns.length) {
        if (missingOK) return void 0;else throw new Error("Unknown column index: " + col);
      }

      return this.columns[colIndex][row % this.columns[colIndex].length];
    }
  }, {
    key: "nrow",
    value: function nrow() {
      return this.effectiveLength;
    }
  }]);

  return DataFrame;
}();

exports["default"] = DataFrame;


},{"./util":17}],5:[function(require,module,exports){
"use strict";

var _leaflet = require("./global/leaflet");

var _leaflet2 = _interopRequireDefault(_leaflet);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

// In RMarkdown's self-contained mode, we don't have a way to carry around the
// images that Leaflet needs but doesn't load into the page. Instead, we'll use
// the unpkg CDN.
if (typeof _leaflet2["default"].Icon.Default.imagePath === "undefined") {
  _leaflet2["default"].Icon.Default.imagePath = "https://unpkg.com/leaflet@1.3.1/dist/images/";
}


},{"./global/leaflet":10}],6:[function(require,module,exports){
"use strict";

var _leaflet = require("./global/leaflet");

var _leaflet2 = _interopRequireDefault(_leaflet);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

// add texxtsize, textOnly, and style
_leaflet2["default"].Tooltip.prototype.options.textsize = "10px";
_leaflet2["default"].Tooltip.prototype.options.textOnly = false;
_leaflet2["default"].Tooltip.prototype.options.style = null; // copy original layout to not completely stomp it.

var initLayoutOriginal = _leaflet2["default"].Tooltip.prototype._initLayout;

_leaflet2["default"].Tooltip.prototype._initLayout = function () {
  initLayoutOriginal.call(this);
  this._container.style.fontSize = this.options.textsize;

  if (this.options.textOnly) {
    _leaflet2["default"].DomUtil.addClass(this._container, "leaflet-tooltip-text-only");
  }

  if (this.options.style) {
    for (var property in this.options.style) {
      this._container.style[property] = this.options.style[property];
    }
  }
};


},{"./global/leaflet":10}],7:[function(require,module,exports){
"use strict";

var _leaflet = require("./global/leaflet");

var _leaflet2 = _interopRequireDefault(_leaflet);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

var protocolRegex = /^\/\//;

var upgrade_protocol = function upgrade_protocol(urlTemplate) {
  if (protocolRegex.test(urlTemplate)) {
    if (window.location.protocol === "file:") {
      // if in a local file, support http
      // http should auto upgrade if necessary
      urlTemplate = "http:" + urlTemplate;
    }
  }

  return urlTemplate;
};

var originalLTileLayerInitialize = _leaflet2["default"].TileLayer.prototype.initialize;

_leaflet2["default"].TileLayer.prototype.initialize = function (urlTemplate, options) {
  urlTemplate = upgrade_protocol(urlTemplate);
  originalLTileLayerInitialize.call(this, urlTemplate, options);
};

var originalLTileLayerWMSInitialize = _leaflet2["default"].TileLayer.WMS.prototype.initialize;

_leaflet2["default"].TileLayer.WMS.prototype.initialize = function (urlTemplate, options) {
  urlTemplate = upgrade_protocol(urlTemplate);
  originalLTileLayerWMSInitialize.call(this, urlTemplate, options);
};


},{"./global/leaflet":10}],8:[function(require,module,exports){
(function (global){(function (){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = global.HTMLWidgets;


}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],9:[function(require,module,exports){
(function (global){(function (){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = global.jQuery;


}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],10:[function(require,module,exports){
(function (global){(function (){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = global.L;


}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],11:[function(require,module,exports){
(function (global){(function (){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = global.L.Proj;


}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],12:[function(require,module,exports){
(function (global){(function (){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = global.Shiny;


}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{}],13:[function(require,module,exports){
"use strict";

var _jquery = require("./global/jquery");

var _jquery2 = _interopRequireDefault(_jquery);

var _leaflet = require("./global/leaflet");

var _leaflet2 = _interopRequireDefault(_leaflet);

var _shiny = require("./global/shiny");

var _shiny2 = _interopRequireDefault(_shiny);

var _htmlwidgets = require("./global/htmlwidgets");

var _htmlwidgets2 = _interopRequireDefault(_htmlwidgets);

var _util = require("./util");

var _crs_utils = require("./crs_utils");

var _controlStore = require("./control-store");

var _controlStore2 = _interopRequireDefault(_controlStore);

var _layerManager = require("./layer-manager");

var _layerManager2 = _interopRequireDefault(_layerManager);

var _methods = require("./methods");

var _methods2 = _interopRequireDefault(_methods);

require("./fixup-default-icon");

require("./fixup-default-tooltip");

require("./fixup-url-protocol");

var _dataframe = require("./dataframe");

var _dataframe2 = _interopRequireDefault(_dataframe);

var _clusterLayerStore = require("./cluster-layer-store");

var _clusterLayerStore2 = _interopRequireDefault(_clusterLayerStore);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

window.LeafletWidget = {};
window.LeafletWidget.utils = {};

var methods = window.LeafletWidget.methods = _jquery2["default"].extend({}, _methods2["default"]);

window.LeafletWidget.DataFrame = _dataframe2["default"];
window.LeafletWidget.ClusterLayerStore = _clusterLayerStore2["default"];
window.LeafletWidget.utils.getCRS = _crs_utils.getCRS; // Send updated bounds back to app. Takes a leaflet event object as input.

function updateBounds(map) {
  var id = map.getContainer().id;
  var bounds = map.getBounds();

  _shiny2["default"].onInputChange(id + "_bounds", {
    north: bounds.getNorthEast().lat,
    east: bounds.getNorthEast().lng,
    south: bounds.getSouthWest().lat,
    west: bounds.getSouthWest().lng
  });

  _shiny2["default"].onInputChange(id + "_center", {
    lng: map.getCenter().lng,
    lat: map.getCenter().lat
  });

  _shiny2["default"].onInputChange(id + "_zoom", map.getZoom());
}

function preventUnintendedZoomOnScroll(map) {
  // Prevent unwanted scroll capturing. Similar in purpose to
  // https://github.com/CliffCloud/Leaflet.Sleep but with a
  // different set of heuristics.
  // The basic idea is that when a mousewheel/DOMMouseScroll
  // event is seen, we disable scroll wheel zooming until the
  // user moves their mouse cursor or clicks on the map. This
  // is slightly trickier than just listening for mousemove,
  // because mousemove is fired when the page is scrolled,
  // even if the user did not physically move the mouse. We
  // handle this by examining the mousemove event's screenX
  // and screenY properties; if they change, we know it's a
  // "true" move.
  // lastScreen can never be null, but its x and y can.
  var lastScreen = {
    x: null,
    y: null
  };
  (0, _jquery2["default"])(document).on("mousewheel DOMMouseScroll", "*", function (e) {
    // Disable zooming (until the mouse moves or click)
    map.scrollWheelZoom.disable(); // Any mousemove events at this screen position will be ignored.

    lastScreen = {
      x: e.originalEvent.screenX,
      y: e.originalEvent.screenY
    };
  });
  (0, _jquery2["default"])(document).on("mousemove", "*", function (e) {
    // Did the mouse really move?
    if (lastScreen.x !== null && e.screenX !== lastScreen.x || e.screenY !== lastScreen.y) {
      // It really moved. Enable zooming.
      map.scrollWheelZoom.enable();
      lastScreen = {
        x: null,
        y: null
      };
    }
  });
  (0, _jquery2["default"])(document).on("mousedown", ".leaflet", function (e) {
    // Clicking always enables zooming.
    map.scrollWheelZoom.enable();
    lastScreen = {
      x: null,
      y: null
    };
  });
}

_htmlwidgets2["default"].widget({
  name: "leaflet",
  type: "output",
  factory: function factory(el, width, height) {
    var map = null;
    return {
      // we need to store our map in our returned object.
      getMap: function getMap() {
        return map;
      },
      renderValue: function renderValue(data) {
        // Create an appropriate CRS Object if specified
        if (data && data.options && data.options.crs) {
          data.options.crs = (0, _crs_utils.getCRS)(data.options.crs);
        } // As per https://github.com/rstudio/leaflet/pull/294#discussion_r79584810


        if (map) {
          map.remove();

          map = function () {
            return;
          }(); // undefine map

        }

        if (data.options.mapFactory && typeof data.options.mapFactory === "function") {
          map = data.options.mapFactory(el, data.options);
        } else {
          map = _leaflet2["default"].map(el, data.options);
        }

        preventUnintendedZoomOnScroll(map); // Store some state in the map object

        map.leafletr = {
          // Has the map ever rendered successfully?
          hasRendered: false,
          // Data to be rendered when resize is called with area != 0
          pendingRenderData: null
        }; // Check if the map is rendered statically (no output binding)

        if (_htmlwidgets2["default"].shinyMode && /\bshiny-bound-output\b/.test(el.className)) {
          map.id = el.id; // Store the map on the element so we can find it later by ID

          (0, _jquery2["default"])(el).data("leaflet-map", map); // When the map is clicked, send the coordinates back to the app

          map.on("click", function (e) {
            _shiny2["default"].onInputChange(map.id + "_click", {
              lat: e.latlng.lat,
              lng: e.latlng.lng,
              ".nonce": Math.random() // Force reactivity if lat/lng hasn't changed

            });
          });
          var groupTimerId = null;
          map.on("moveend", function (e) {
            updateBounds(e.target);
          }).on("layeradd layerremove", function (e) {
            // If the layer that's coming or going is a group we created, tell
            // the server.
            if (map.layerManager.getGroupNameFromLayerGroup(e.layer)) {
              // But to avoid chattiness, coalesce events
              if (groupTimerId) {
                clearTimeout(groupTimerId);
                groupTimerId = null;
              }

              groupTimerId = setTimeout(function () {
                groupTimerId = null;

                _shiny2["default"].onInputChange(map.id + "_groups", map.layerManager.getVisibleGroups());
              }, 100);
            }
          });
        }

        this.doRenderValue(data, map);
      },
      doRenderValue: function doRenderValue(data, map) {
        // Leaflet does not behave well when you set up a bunch of layers when
        // the map is not visible (width/height == 0). Popups get misaligned
        // relative to their owning markers, and the fitBounds calculations
        // are off. Therefore we wait until the map is actually showing to
        // render the value (we rely on the resize() callback being invoked
        // at the appropriate time).
        if (el.offsetWidth === 0 || el.offsetHeight === 0) {
          map.leafletr.pendingRenderData = data;
          return;
        }

        map.leafletr.pendingRenderData = null; // Merge data options into defaults

        var options = _jquery2["default"].extend({
          zoomToLimits: "always"
        }, data.options);

        if (!map.layerManager) {
          map.controls = new _controlStore2["default"](map);
          map.layerManager = new _layerManager2["default"](map);
        } else {
          map.controls.clear();
          map.layerManager.clear();
        }

        var explicitView = false;

        if (data.setView) {
          explicitView = true;
          map.setView.apply(map, data.setView);
        }

        if (data.fitBounds) {
          explicitView = true;
          methods.fitBounds.apply(map, data.fitBounds);
        }

        if (data.flyTo) {
          if (!explicitView && !map.leafletr.hasRendered) {
            // must be done to give a initial starting point
            map.fitWorld();
          }

          explicitView = true;
          map.flyTo.apply(map, data.flyTo);
        }

        if (data.flyToBounds) {
          if (!explicitView && !map.leafletr.hasRendered) {
            // must be done to give a initial starting point
            map.fitWorld();
          }

          explicitView = true;
          methods.flyToBounds.apply(map, data.flyToBounds);
        }

        if (data.options.center) {
          explicitView = true;
        } // Returns true if the zoomToLimits option says that the map should be
        // zoomed to map elements.


        function needsZoom() {
          return options.zoomToLimits === "always" || options.zoomToLimits === "first" && !map.leafletr.hasRendered;
        }

        if (!explicitView && needsZoom() && !map.getZoom()) {
          if (data.limits && !_jquery2["default"].isEmptyObject(data.limits)) {
            // Use the natural limits of what's being drawn on the map
            // If the size of the bounding box is 0, leaflet gets all weird
            var pad = 0.006;

            if (data.limits.lat[0] === data.limits.lat[1]) {
              data.limits.lat[0] = data.limits.lat[0] - pad;
              data.limits.lat[1] = data.limits.lat[1] + pad;
            }

            if (data.limits.lng[0] === data.limits.lng[1]) {
              data.limits.lng[0] = data.limits.lng[0] - pad;
              data.limits.lng[1] = data.limits.lng[1] + pad;
            }

            map.fitBounds([[data.limits.lat[0], data.limits.lng[0]], [data.limits.lat[1], data.limits.lng[1]]]);
          } else {
            map.fitWorld();
          }
        }

        for (var i = 0; data.calls && i < data.calls.length; i++) {
          var call = data.calls[i];
          if (methods[call.method]) methods[call.method].apply(map, call.args);else (0, _util.log)("Unknown method " + call.method);
        }

        map.leafletr.hasRendered = true;

        if (_htmlwidgets2["default"].shinyMode) {
          setTimeout(function () {
            updateBounds(map);
          }, 1);
        }
      },
      resize: function resize(width, height) {
        if (map) {
          map.invalidateSize();

          if (map.leafletr.pendingRenderData) {
            this.doRenderValue(map.leafletr.pendingRenderData, map);
          }
        }
      }
    };
  }
});

if (_htmlwidgets2["default"].shinyMode) {
  _shiny2["default"].addCustomMessageHandler("leaflet-calls", function (data) {
    var id = data.id;
    var el = document.getElementById(id);
    var map = el ? (0, _jquery2["default"])(el).data("leaflet-map") : null;

    if (!map) {
      (0, _util.log)("Couldn't find map with id " + id);
      return;
    } // If the map has not rendered, stash the proposed `leafletProxy()` calls
    // in `pendingRenderData.calls` to be run on display via `doRenderValue()`.
    // This is necessary if the map has not been rendered.
    // If new pendingRenderData is set via a new `leaflet()`, the previous calls will be discarded.


    if (!map.leafletr.hasRendered) {
      map.leafletr.pendingRenderData.calls = map.leafletr.pendingRenderData.calls.concat(data.calls);
      return;
    }

    for (var i = 0; i < data.calls.length; i++) {
      var call = data.calls[i];
      var args = call.args;

      for (var _i = 0; _i < call.evals.length; _i++) {
        window.HTMLWidgets.evaluateStringMember(args, call.evals[_i]);
      }

      if (call.dependencies) {
        _shiny2["default"].renderDependencies(call.dependencies);
      }

      if (methods[call.method]) methods[call.method].apply(map, args);else (0, _util.log)("Unknown method " + call.method);
    }
  });
}


},{"./cluster-layer-store":1,"./control-store":2,"./crs_utils":3,"./dataframe":4,"./fixup-default-icon":5,"./fixup-default-tooltip":6,"./fixup-url-protocol":7,"./global/htmlwidgets":8,"./global/jquery":9,"./global/leaflet":10,"./global/shiny":12,"./layer-manager":14,"./methods":15,"./util":17}],14:[function(require,module,exports){
(function (global){(function (){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = undefined;

var _jquery = require("./global/jquery");

var _jquery2 = _interopRequireDefault(_jquery);

var _leaflet = require("./global/leaflet");

var _leaflet2 = _interopRequireDefault(_leaflet);

var _util = require("./util");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var LayerManager = /*#__PURE__*/function () {
  function LayerManager(map) {
    _classCallCheck(this, LayerManager);

    this._map = map; // BEGIN layer indices
    // {<groupname>: {<stamp>: layer}}

    this._byGroup = {}; // {<categoryName>: {<stamp>: layer}}

    this._byCategory = {}; // {<categoryName_layerId>: layer}

    this._byLayerId = {}; // {<stamp>: {
    //             "group": <groupname>,
    //             "layerId": <layerId>,
    //             "category": <category>,
    //             "container": <container>
    //           }
    // }

    this._byStamp = {}; // {<crosstalkGroupName>: {<key>: [<stamp>, <stamp>, ...], ...}}

    this._byCrosstalkGroup = {}; // END layer indices
    // {<categoryName>: L.layerGroup}

    this._categoryContainers = {}; // {<groupName>: L.layerGroup}

    this._groupContainers = {};
  }

  _createClass(LayerManager, [{
    key: "addLayer",
    value: function addLayer(layer, category, layerId, group, ctGroup, ctKey) {
      var _this = this;

      // Was a group provided?
      var hasId = typeof layerId === "string";
      var grouped = typeof group === "string";
      var stamp = _leaflet2["default"].Util.stamp(layer) + ""; // This will be the default layer group to add the layer to.
      // We may overwrite this let before using it (i.e. if a group is assigned).
      // This one liner creates the _categoryContainers[category] entry if it
      // doesn't already exist.

      var container = this._categoryContainers[category] = this._categoryContainers[category] || _leaflet2["default"].layerGroup().addTo(this._map);

      var oldLayer = null;

      if (hasId) {
        // First, remove any layer with the same category and layerId
        var prefixedLayerId = this._layerIdKey(category, layerId);

        oldLayer = this._byLayerId[prefixedLayerId];

        if (oldLayer) {
          this._removeLayer(oldLayer);
        } // Update layerId index


        this._byLayerId[prefixedLayerId] = layer;
      } // Update group index


      if (grouped) {
        this._byGroup[group] = this._byGroup[group] || {};
        this._byGroup[group][stamp] = layer; // Since a group is assigned, don't add the layer to the category's layer
        // group; instead, use the group's layer group.
        // This one liner creates the _groupContainers[group] entry if it doesn't
        // already exist.

        container = this.getLayerGroup(group, true);
      } // Update category index


      this._byCategory[category] = this._byCategory[category] || {};
      this._byCategory[category][stamp] = layer; // Update stamp index

      var layerInfo = this._byStamp[stamp] = {
        layer: layer,
        group: group,
        ctGroup: ctGroup,
        ctKey: ctKey,
        layerId: layerId,
        category: category,
        container: container,
        hidden: false
      }; // Update crosstalk group index

      if (ctGroup) {
        if (layer.setStyle) {
          // Need to save this info so we know what to set opacity to later
          layer.options.origOpacity = typeof layer.options.opacity !== "undefined" ? layer.options.opacity : 0.5;
          layer.options.origFillOpacity = typeof layer.options.fillOpacity !== "undefined" ? layer.options.fillOpacity : 0.2;
        }

        var ctg = this._byCrosstalkGroup[ctGroup];

        if (!ctg) {
          ctg = this._byCrosstalkGroup[ctGroup] = {};
          var crosstalk = global.crosstalk;

          var handleFilter = function handleFilter(e) {
            if (!e.value) {
              var groupKeys = Object.keys(ctg);

              for (var i = 0; i < groupKeys.length; i++) {
                var key = groupKeys[i];
                var _layerInfo = _this._byStamp[ctg[key]];

                _this._setVisibility(_layerInfo, true);
              }
            } else {
              var selectedKeys = {};

              for (var _i = 0; _i < e.value.length; _i++) {
                selectedKeys[e.value[_i]] = true;
              }

              var _groupKeys = Object.keys(ctg);

              for (var _i2 = 0; _i2 < _groupKeys.length; _i2++) {
                var _key = _groupKeys[_i2];
                var _layerInfo2 = _this._byStamp[ctg[_key]];

                _this._setVisibility(_layerInfo2, selectedKeys[_groupKeys[_i2]]);
              }
            }
          };

          var filterHandle = new crosstalk.FilterHandle(ctGroup);
          filterHandle.on("change", handleFilter);

          var handleSelection = function handleSelection(e) {
            if (!e.value || !e.value.length) {
              var groupKeys = Object.keys(ctg);

              for (var i = 0; i < groupKeys.length; i++) {
                var key = groupKeys[i];
                var _layerInfo3 = _this._byStamp[ctg[key]];

                _this._setOpacity(_layerInfo3, 1.0);
              }
            } else {
              var selectedKeys = {};

              for (var _i3 = 0; _i3 < e.value.length; _i3++) {
                selectedKeys[e.value[_i3]] = true;
              }

              var _groupKeys2 = Object.keys(ctg);

              for (var _i4 = 0; _i4 < _groupKeys2.length; _i4++) {
                var _key2 = _groupKeys2[_i4];
                var _layerInfo4 = _this._byStamp[ctg[_key2]];

                _this._setOpacity(_layerInfo4, selectedKeys[_groupKeys2[_i4]] ? 1.0 : 0.2);
              }
            }
          };

          var selHandle = new crosstalk.SelectionHandle(ctGroup);
          selHandle.on("change", handleSelection);
          setTimeout(function () {
            handleFilter({
              value: filterHandle.filteredKeys
            });
            handleSelection({
              value: selHandle.value
            });
          }, 100);
        }

        if (!ctg[ctKey]) ctg[ctKey] = [];
        ctg[ctKey].push(stamp);
      } // Add to container


      if (!layerInfo.hidden) container.addLayer(layer);
      return oldLayer;
    }
  }, {
    key: "brush",
    value: function brush(bounds, extraInfo) {
      var _this2 = this;

      /* eslint-disable no-console */
      // For each Crosstalk group...
      Object.keys(this._byCrosstalkGroup).forEach(function (ctGroupName) {
        var ctg = _this2._byCrosstalkGroup[ctGroupName];
        var selection = []; // ...iterate over each Crosstalk key (each of which may have multiple
        // layers)...

        Object.keys(ctg).forEach(function (ctKey) {
          // ...and for each layer...
          ctg[ctKey].forEach(function (stamp) {
            var layerInfo = _this2._byStamp[stamp]; // ...if it's something with a point...

            if (layerInfo.layer.getLatLng) {
              // ... and it's inside the selection bounds...
              // TODO: Use pixel containment, not lat/lng containment
              if (bounds.contains(layerInfo.layer.getLatLng())) {
                // ...add the key to the selection.
                selection.push(ctKey);
              }
            }
          });
        });
        new global.crosstalk.SelectionHandle(ctGroupName).set(selection, extraInfo);
      });
    }
  }, {
    key: "unbrush",
    value: function unbrush(extraInfo) {
      Object.keys(this._byCrosstalkGroup).forEach(function (ctGroupName) {
        new global.crosstalk.SelectionHandle(ctGroupName).clear(extraInfo);
      });
    }
  }, {
    key: "_setVisibility",
    value: function _setVisibility(layerInfo, visible) {
      if (layerInfo.hidden ^ visible) {
        return;
      } else if (visible) {
        layerInfo.container.addLayer(layerInfo.layer);
        layerInfo.hidden = false;
      } else {
        layerInfo.container.removeLayer(layerInfo.layer);
        layerInfo.hidden = true;
      }
    }
  }, {
    key: "_setOpacity",
    value: function _setOpacity(layerInfo, opacity) {
      if (layerInfo.layer.setOpacity) {
        layerInfo.layer.setOpacity(opacity);
      } else if (layerInfo.layer.setStyle) {
        layerInfo.layer.setStyle({
          opacity: opacity * layerInfo.layer.options.origOpacity,
          fillOpacity: opacity * layerInfo.layer.options.origFillOpacity
        });
      }
    }
  }, {
    key: "getLayer",
    value: function getLayer(category, layerId) {
      return this._byLayerId[this._layerIdKey(category, layerId)];
    }
  }, {
    key: "removeLayer",
    value: function removeLayer(category, layerIds) {
      var _this3 = this;

      // Find layer info
      _jquery2["default"].each((0, _util.asArray)(layerIds), function (i, layerId) {
        var layer = _this3._byLayerId[_this3._layerIdKey(category, layerId)];

        if (layer) {
          _this3._removeLayer(layer);
        }
      });
    }
  }, {
    key: "clearLayers",
    value: function clearLayers(category) {
      var _this4 = this;

      // Find all layers in _byCategory[category]
      var catTable = this._byCategory[category];

      if (!catTable) {
        return false;
      } // Remove all layers. Make copy of keys to avoid mutating the collection
      // behind the iterator you're accessing.


      var stamps = [];

      _jquery2["default"].each(catTable, function (k, v) {
        stamps.push(k);
      });

      _jquery2["default"].each(stamps, function (i, stamp) {
        _this4._removeLayer(stamp);
      });
    }
  }, {
    key: "getLayerGroup",
    value: function getLayerGroup(group, ensureExists) {
      var g = this._groupContainers[group];

      if (ensureExists && !g) {
        this._byGroup[group] = this._byGroup[group] || {};
        g = this._groupContainers[group] = _leaflet2["default"].featureGroup();
        g.groupname = group;
        g.addTo(this._map);
      }

      return g;
    }
  }, {
    key: "getGroupNameFromLayerGroup",
    value: function getGroupNameFromLayerGroup(layerGroup) {
      return layerGroup.groupname;
    }
  }, {
    key: "getVisibleGroups",
    value: function getVisibleGroups() {
      var _this5 = this;

      var result = [];

      _jquery2["default"].each(this._groupContainers, function (k, v) {
        if (_this5._map.hasLayer(v)) {
          result.push(k);
        }
      });

      return result;
    }
  }, {
    key: "getAllGroupNames",
    value: function getAllGroupNames() {
      var result = [];

      _jquery2["default"].each(this._groupContainers, function (k, v) {
        result.push(k);
      });

      return result;
    }
  }, {
    key: "clearGroup",
    value: function clearGroup(group) {
      var _this6 = this;

      // Find all layers in _byGroup[group]
      var groupTable = this._byGroup[group];

      if (!groupTable) {
        return false;
      } // Remove all layers. Make copy of keys to avoid mutating the collection
      // behind the iterator you're accessing.


      var stamps = [];

      _jquery2["default"].each(groupTable, function (k, v) {
        stamps.push(k);
      });

      _jquery2["default"].each(stamps, function (i, stamp) {
        _this6._removeLayer(stamp);
      });
    }
  }, {
    key: "clear",
    value: function clear() {
      function clearLayerGroup(key, layerGroup) {
        layerGroup.clearLayers();
      } // Clear all indices and layerGroups


      this._byGroup = {};
      this._byCategory = {};
      this._byLayerId = {};
      this._byStamp = {};
      this._byCrosstalkGroup = {};

      _jquery2["default"].each(this._categoryContainers, clearLayerGroup);

      this._categoryContainers = {};

      _jquery2["default"].each(this._groupContainers, clearLayerGroup);

      this._groupContainers = {};
    }
  }, {
    key: "_removeLayer",
    value: function _removeLayer(layer) {
      var stamp;

      if (typeof layer === "string") {
        stamp = layer;
      } else {
        stamp = _leaflet2["default"].Util.stamp(layer);
      }

      var layerInfo = this._byStamp[stamp];

      if (!layerInfo) {
        return false;
      }

      layerInfo.container.removeLayer(stamp);

      if (typeof layerInfo.group === "string") {
        delete this._byGroup[layerInfo.group][stamp];
      }

      if (typeof layerInfo.layerId === "string") {
        delete this._byLayerId[this._layerIdKey(layerInfo.category, layerInfo.layerId)];
      }

      delete this._byCategory[layerInfo.category][stamp];
      delete this._byStamp[stamp];

      if (layerInfo.ctGroup) {
        var ctGroup = this._byCrosstalkGroup[layerInfo.ctGroup];
        var layersForKey = ctGroup[layerInfo.ctKey];
        var idx = layersForKey ? layersForKey.indexOf(stamp) : -1;

        if (idx >= 0) {
          if (layersForKey.length === 1) {
            delete ctGroup[layerInfo.ctKey];
          } else {
            layersForKey.splice(idx, 1);
          }
        }
      }
    }
  }, {
    key: "_layerIdKey",
    value: function _layerIdKey(category, layerId) {
      return category + "\n" + layerId;
    }
  }]);

  return LayerManager;
}();

exports["default"] = LayerManager;


}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"./global/jquery":9,"./global/leaflet":10,"./util":17}],15:[function(require,module,exports){
(function (global){(function (){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

var _jquery = require("./global/jquery");

var _jquery2 = _interopRequireDefault(_jquery);

var _leaflet = require("./global/leaflet");

var _leaflet2 = _interopRequireDefault(_leaflet);

var _shiny = require("./global/shiny");

var _shiny2 = _interopRequireDefault(_shiny);

var _htmlwidgets = require("./global/htmlwidgets");

var _htmlwidgets2 = _interopRequireDefault(_htmlwidgets);

var _util = require("./util");

var _crs_utils = require("./crs_utils");

var _dataframe = require("./dataframe");

var _dataframe2 = _interopRequireDefault(_dataframe);

var _clusterLayerStore = require("./cluster-layer-store");

var _clusterLayerStore2 = _interopRequireDefault(_clusterLayerStore);

var _mipmapper = require("./mipmapper");

var _mipmapper2 = _interopRequireDefault(_mipmapper);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

var methods = {};
exports["default"] = methods;

function mouseHandler(mapId, layerId, group, eventName, extraInfo) {
  return function (e) {
    if (!_htmlwidgets2["default"].shinyMode) return;
    var latLng = e.target.getLatLng ? e.target.getLatLng() : e.latlng;

    if (latLng) {
      // retrieve only lat, lon values to remove prototype
      //   and extra parameters added by 3rd party modules
      // these objects are for json serialization, not javascript
      var latLngVal = _leaflet2["default"].latLng(latLng); // make sure it has consistent shape


      latLng = {
        lat: latLngVal.lat,
        lng: latLngVal.lng
      };
    }

    var eventInfo = _jquery2["default"].extend({
      id: layerId,
      ".nonce": Math.random() // force reactivity

    }, group !== null ? {
      group: group
    } : null, latLng, extraInfo);

    _shiny2["default"].onInputChange(mapId + "_" + eventName, eventInfo);
  };
}

methods.mouseHandler = mouseHandler;

methods.clearGroup = function (group) {
  var _this = this;

  _jquery2["default"].each((0, _util.asArray)(group), function (i, v) {
    _this.layerManager.clearGroup(v);
  });
};

methods.setView = function (center, zoom, options) {
  this.setView(center, zoom, options);
};

methods.fitBounds = function (lat1, lng1, lat2, lng2, options) {
  this.fitBounds([[lat1, lng1], [lat2, lng2]], options);
};

methods.flyTo = function (center, zoom, options) {
  this.flyTo(center, zoom, options);
};

methods.flyToBounds = function (lat1, lng1, lat2, lng2, options) {
  this.flyToBounds([[lat1, lng1], [lat2, lng2]], options);
};

methods.setMaxBounds = function (lat1, lng1, lat2, lng2) {
  this.setMaxBounds([[lat1, lng1], [lat2, lng2]]);
};

methods.addPopups = function (lat, lng, popup, layerId, group, options) {
  var _this2 = this;

  var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("popup", popup).col("layerId", layerId).col("group", group).cbind(options);

  var _loop = function _loop(i) {
    if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng"))) {
      (function () {
        var popup = _leaflet2["default"].popup(df.get(i)).setLatLng([df.get(i, "lat"), df.get(i, "lng")]).setContent(df.get(i, "popup"));

        var thisId = df.get(i, "layerId");
        var thisGroup = df.get(i, "group");
        this.layerManager.addLayer(popup, "popup", thisId, thisGroup);
      }).call(_this2);
    }
  };

  for (var i = 0; i < df.nrow(); i++) {
    _loop(i);
  }
};

methods.removePopup = function (layerId) {
  this.layerManager.removeLayer("popup", layerId);
};

methods.clearPopups = function () {
  this.layerManager.clearLayers("popup");
};

methods.addTiles = function (urlTemplate, layerId, group, options) {
  this.layerManager.addLayer(_leaflet2["default"].tileLayer(urlTemplate, options), "tile", layerId, group);
};

methods.removeTiles = function (layerId) {
  this.layerManager.removeLayer("tile", layerId);
};

methods.clearTiles = function () {
  this.layerManager.clearLayers("tile");
};

methods.addWMSTiles = function (baseUrl, layerId, group, options) {
  if (options && options.crs) {
    options.crs = (0, _crs_utils.getCRS)(options.crs);
  }

  this.layerManager.addLayer(_leaflet2["default"].tileLayer.wms(baseUrl, options), "tile", layerId, group);
}; // Given:
//   {data: ["a", "b", "c"], index: [0, 1, 0, 2]}
// returns:
//   ["a", "b", "a", "c"]


function unpackStrings(iconset) {
  if (!iconset) {
    return iconset;
  }

  if (typeof iconset.index === "undefined") {
    return iconset;
  }

  iconset.data = (0, _util.asArray)(iconset.data);
  iconset.index = (0, _util.asArray)(iconset.index);
  return _jquery2["default"].map(iconset.index, function (e, i) {
    return iconset.data[e];
  });
}

function addMarkers(map, df, group, clusterOptions, clusterId, markerFunc) {
  (function () {
    var _this3 = this;

    var clusterGroup = this.layerManager.getLayer("cluster", clusterId),
        cluster = clusterOptions !== null;

    if (cluster && !clusterGroup) {
      clusterGroup = _leaflet2["default"].markerClusterGroup.layerSupport(clusterOptions);

      if (clusterOptions.freezeAtZoom) {
        var freezeAtZoom = clusterOptions.freezeAtZoom;
        delete clusterOptions.freezeAtZoom;
        clusterGroup.freezeAtZoom(freezeAtZoom);
      }

      clusterGroup.clusterLayerStore = new _clusterLayerStore2["default"](clusterGroup);
    }

    var extraInfo = cluster ? {
      clusterId: clusterId
    } : {};

    var _loop2 = function _loop2(i) {
      if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng"))) {
        (function () {
          var marker = markerFunc(df, i);
          var thisId = df.get(i, "layerId");
          var thisGroup = cluster ? null : df.get(i, "group");

          if (cluster) {
            clusterGroup.clusterLayerStore.add(marker, thisId);
          } else {
            this.layerManager.addLayer(marker, "marker", thisId, thisGroup, df.get(i, "ctGroup", true), df.get(i, "ctKey", true));
          }

          var popup = df.get(i, "popup");
          var popupOptions = df.get(i, "popupOptions");

          if (popup !== null) {
            if (popupOptions !== null) {
              marker.bindPopup(popup, popupOptions);
            } else {
              marker.bindPopup(popup);
            }
          }

          var label = df.get(i, "label");
          var labelOptions = df.get(i, "labelOptions");

          if (label !== null) {
            if (labelOptions !== null) {
              if (labelOptions.permanent) {
                marker.bindTooltip(label, labelOptions).openTooltip();
              } else {
                marker.bindTooltip(label, labelOptions);
              }
            } else {
              marker.bindTooltip(label);
            }
          }

          marker.on("click", mouseHandler(this.id, thisId, thisGroup, "marker_click", extraInfo), this);
          marker.on("mouseover", mouseHandler(this.id, thisId, thisGroup, "marker_mouseover", extraInfo), this);
          marker.on("mouseout", mouseHandler(this.id, thisId, thisGroup, "marker_mouseout", extraInfo), this);
          marker.on("dragend", mouseHandler(this.id, thisId, thisGroup, "marker_dragend", extraInfo), this);
        }).call(_this3);
      }
    };

    for (var i = 0; i < df.nrow(); i++) {
      _loop2(i);
    }

    if (cluster) {
      this.layerManager.addLayer(clusterGroup, "cluster", clusterId, group);
    }
  }).call(map);
}

methods.addGenericMarkers = addMarkers;

methods.addMarkers = function (lat, lng, icon, layerId, group, options, popup, popupOptions, clusterOptions, clusterId, label, labelOptions, crosstalkOptions) {
  var icondf;
  var getIcon;

  if (icon) {
    // Unpack icons
    icon.iconUrl = unpackStrings(icon.iconUrl);
    icon.iconRetinaUrl = unpackStrings(icon.iconRetinaUrl);
    icon.shadowUrl = unpackStrings(icon.shadowUrl);
    icon.shadowRetinaUrl = unpackStrings(icon.shadowRetinaUrl); // This cbinds the icon URLs and any other icon options; they're all
    // present on the icon object.

    icondf = new _dataframe2["default"]().cbind(icon); // Constructs an icon from a specified row of the icon dataframe.

    getIcon = function getIcon(i) {
      var opts = icondf.get(i);

      if (!opts.iconUrl) {
        return new _leaflet2["default"].Icon.Default();
      } // Composite options (like points or sizes) are passed from R with each
      // individual component as its own option. We need to combine them now
      // into their composite form.


      if (opts.iconWidth) {
        opts.iconSize = [opts.iconWidth, opts.iconHeight];
      }

      if (opts.shadowWidth) {
        opts.shadowSize = [opts.shadowWidth, opts.shadowHeight];
      }

      if (opts.iconAnchorX) {
        opts.iconAnchor = [opts.iconAnchorX, opts.iconAnchorY];
      }

      if (opts.shadowAnchorX) {
        opts.shadowAnchor = [opts.shadowAnchorX, opts.shadowAnchorY];
      }

      if (opts.popupAnchorX) {
        opts.popupAnchor = [opts.popupAnchorX, opts.popupAnchorY];
      }

      return new _leaflet2["default"].Icon(opts);
    };
  }

  if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) {
    var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(options).cbind(crosstalkOptions || {});
    if (icon) icondf.effectiveLength = df.nrow();
    addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) {
      var options = df.get(i);
      if (icon) options.icon = getIcon(i);
      return _leaflet2["default"].marker([df.get(i, "lat"), df.get(i, "lng")], options);
    });
  }
};

methods.addAwesomeMarkers = function (lat, lng, icon, layerId, group, options, popup, popupOptions, clusterOptions, clusterId, label, labelOptions, crosstalkOptions) {
  var icondf;
  var getIcon;

  if (icon) {
    // This cbinds the icon URLs and any other icon options; they're all
    // present on the icon object.
    icondf = new _dataframe2["default"]().cbind(icon); // Constructs an icon from a specified row of the icon dataframe.

    getIcon = function getIcon(i) {
      var opts = icondf.get(i);

      if (!opts) {
        return new _leaflet2["default"].AwesomeMarkers.icon();
      }

      if (opts.squareMarker) {
        opts.className = "awesome-marker awesome-marker-square";
      }

      return new _leaflet2["default"].AwesomeMarkers.icon(opts);
    };
  }

  if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) {
    var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(options).cbind(crosstalkOptions || {});
    if (icon) icondf.effectiveLength = df.nrow();
    addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) {
      var options = df.get(i);
      if (icon) options.icon = getIcon(i);
      return _leaflet2["default"].marker([df.get(i, "lat"), df.get(i, "lng")], options);
    });
  }
};

function addLayers(map, category, df, layerFunc) {
  var _loop3 = function _loop3(i) {
    (function () {
      var layer = layerFunc(df, i);

      if (!_jquery2["default"].isEmptyObject(layer)) {
        var thisId = df.get(i, "layerId");
        var thisGroup = df.get(i, "group");
        this.layerManager.addLayer(layer, category, thisId, thisGroup, df.get(i, "ctGroup", true), df.get(i, "ctKey", true));

        if (layer.bindPopup) {
          var popup = df.get(i, "popup");
          var popupOptions = df.get(i, "popupOptions");

          if (popup !== null) {
            if (popupOptions !== null) {
              layer.bindPopup(popup, popupOptions);
            } else {
              layer.bindPopup(popup);
            }
          }
        }

        if (layer.bindTooltip) {
          var label = df.get(i, "label");
          var labelOptions = df.get(i, "labelOptions");

          if (label !== null) {
            if (labelOptions !== null) {
              layer.bindTooltip(label, labelOptions);
            } else {
              layer.bindTooltip(label);
            }
          }
        }

        layer.on("click", mouseHandler(this.id, thisId, thisGroup, category + "_click"), this);
        layer.on("mouseover", mouseHandler(this.id, thisId, thisGroup, category + "_mouseover"), this);
        layer.on("mouseout", mouseHandler(this.id, thisId, thisGroup, category + "_mouseout"), this);
        var highlightStyle = df.get(i, "highlightOptions");

        if (!_jquery2["default"].isEmptyObject(highlightStyle)) {
          var defaultStyle = {};

          _jquery2["default"].each(highlightStyle, function (k, v) {
            if (k != "bringToFront" && k != "sendToBack") {
              if (df.get(i, k)) {
                defaultStyle[k] = df.get(i, k);
              }
            }
          });

          layer.on("mouseover", function (e) {
            this.setStyle(highlightStyle);

            if (highlightStyle.bringToFront) {
              this.bringToFront();
            }
          });
          layer.on("mouseout", function (e) {
            this.setStyle(defaultStyle);

            if (highlightStyle.sendToBack) {
              this.bringToBack();
            }
          });
        }
      }
    }).call(map);
  };

  for (var i = 0; i < df.nrow(); i++) {
    _loop3(i);
  }
}

methods.addGenericLayers = addLayers;

methods.addCircles = function (lat, lng, radius, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions, crosstalkOptions) {
  if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) {
    var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("radius", radius).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options).cbind(crosstalkOptions || {});
    addLayers(this, "shape", df, function (df, i) {
      if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng")) && _jquery2["default"].isNumeric(df.get(i, "radius"))) {
        return _leaflet2["default"].circle([df.get(i, "lat"), df.get(i, "lng")], df.get(i, "radius"), df.get(i));
      } else {
        return null;
      }
    });
  }
};

methods.addCircleMarkers = function (lat, lng, radius, layerId, group, options, clusterOptions, clusterId, popup, popupOptions, label, labelOptions, crosstalkOptions) {
  if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) {
    var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("radius", radius).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(crosstalkOptions || {}).cbind(options);
    addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) {
      return _leaflet2["default"].circleMarker([df.get(i, "lat"), df.get(i, "lng")], df.get(i));
    });
  }
};
/*
 * @param lat Array of arrays of latitude coordinates for polylines
 * @param lng Array of arrays of longitude coordinates for polylines
 */


methods.addPolylines = function (polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) {
  if (polygons.length > 0) {
    var df = new _dataframe2["default"]().col("shapes", polygons).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options);
    addLayers(this, "shape", df, function (df, i) {
      var shapes = df.get(i, "shapes");
      shapes = shapes.map(function (shape) {
        return _htmlwidgets2["default"].dataframeToD3(shape[0]);
      });

      if (shapes.length > 1) {
        return _leaflet2["default"].polyline(shapes, df.get(i));
      } else {
        return _leaflet2["default"].polyline(shapes[0], df.get(i));
      }
    });
  }
};

methods.removeMarker = function (layerId) {
  this.layerManager.removeLayer("marker", layerId);
};

methods.clearMarkers = function () {
  this.layerManager.clearLayers("marker");
};

methods.removeMarkerCluster = function (layerId) {
  this.layerManager.removeLayer("cluster", layerId);
};

methods.removeMarkerFromCluster = function (layerId, clusterId) {
  var cluster = this.layerManager.getLayer("cluster", clusterId);
  if (!cluster) return;
  cluster.clusterLayerStore.remove(layerId);
};

methods.clearMarkerClusters = function () {
  this.layerManager.clearLayers("cluster");
};

methods.removeShape = function (layerId) {
  this.layerManager.removeLayer("shape", layerId);
};

methods.clearShapes = function () {
  this.layerManager.clearLayers("shape");
};

methods.addRectangles = function (lat1, lng1, lat2, lng2, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) {
  var df = new _dataframe2["default"]().col("lat1", lat1).col("lng1", lng1).col("lat2", lat2).col("lng2", lng2).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options);
  addLayers(this, "shape", df, function (df, i) {
    if (_jquery2["default"].isNumeric(df.get(i, "lat1")) && _jquery2["default"].isNumeric(df.get(i, "lng1")) && _jquery2["default"].isNumeric(df.get(i, "lat2")) && _jquery2["default"].isNumeric(df.get(i, "lng2"))) {
      return _leaflet2["default"].rectangle([[df.get(i, "lat1"), df.get(i, "lng1")], [df.get(i, "lat2"), df.get(i, "lng2")]], df.get(i));
    } else {
      return null;
    }
  });
};
/*
 * @param lat Array of arrays of latitude coordinates for polygons
 * @param lng Array of arrays of longitude coordinates for polygons
 */


methods.addPolygons = function (polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) {
  if (polygons.length > 0) {
    var df = new _dataframe2["default"]().col("shapes", polygons).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options);
    addLayers(this, "shape", df, function (df, i) {
      // This code used to use L.multiPolygon, but that caused
      // double-click on a multipolygon to fail to zoom in on the
      // map. Surprisingly, putting all the rings in a single
      // polygon seems to still work; complicated multipolygons
      // are still rendered correctly.
      var shapes = df.get(i, "shapes").map(function (polygon) {
        return polygon.map(_htmlwidgets2["default"].dataframeToD3);
      }).reduce(function (acc, val) {
        return acc.concat(val);
      }, []);
      return _leaflet2["default"].polygon(shapes, df.get(i));
    });
  }
};

methods.addGeoJSON = function (data, layerId, group, style) {
  // This time, self is actually needed because the callbacks below need
  // to access both the inner and outer senses of "this"
  var self = this;

  if (typeof data === "string") {
    data = JSON.parse(data);
  }

  var globalStyle = _jquery2["default"].extend({}, style, data.style || {});

  var gjlayer = _leaflet2["default"].geoJson(data, {
    style: function style(feature) {
      if (feature.style || feature.properties.style) {
        return _jquery2["default"].extend({}, globalStyle, feature.style, feature.properties.style);
      } else {
        return globalStyle;
      }
    },
    onEachFeature: function onEachFeature(feature, layer) {
      var extraInfo = {
        featureId: feature.id,
        properties: feature.properties
      };
      var popup = feature.properties ? feature.properties.popup : null;
      if (typeof popup !== "undefined" && popup !== null) layer.bindPopup(popup);
      layer.on("click", mouseHandler(self.id, layerId, group, "geojson_click", extraInfo), this);
      layer.on("mouseover", mouseHandler(self.id, layerId, group, "geojson_mouseover", extraInfo), this);
      layer.on("mouseout", mouseHandler(self.id, layerId, group, "geojson_mouseout", extraInfo), this);
    }
  });

  this.layerManager.addLayer(gjlayer, "geojson", layerId, group);
};

methods.removeGeoJSON = function (layerId) {
  this.layerManager.removeLayer("geojson", layerId);
};

methods.clearGeoJSON = function () {
  this.layerManager.clearLayers("geojson");
};

methods.addTopoJSON = function (data, layerId, group, style) {
  // This time, self is actually needed because the callbacks below need
  // to access both the inner and outer senses of "this"
  var self = this;

  if (typeof data === "string") {
    data = JSON.parse(data);
  }

  var globalStyle = _jquery2["default"].extend({}, style, data.style || {});

  var gjlayer = _leaflet2["default"].geoJson(null, {
    style: function style(feature) {
      if (feature.style || feature.properties.style) {
        return _jquery2["default"].extend({}, globalStyle, feature.style, feature.properties.style);
      } else {
        return globalStyle;
      }
    },
    onEachFeature: function onEachFeature(feature, layer) {
      var extraInfo = {
        featureId: feature.id,
        properties: feature.properties
      };
      var popup = feature.properties.popup;
      if (typeof popup !== "undefined" && popup !== null) layer.bindPopup(popup);
      layer.on("click", mouseHandler(self.id, layerId, group, "topojson_click", extraInfo), this);
      layer.on("mouseover", mouseHandler(self.id, layerId, group, "topojson_mouseover", extraInfo), this);
      layer.on("mouseout", mouseHandler(self.id, layerId, group, "topojson_mouseout", extraInfo), this);
    }
  });

  global.omnivore.topojson.parse(data, null, gjlayer);
  this.layerManager.addLayer(gjlayer, "topojson", layerId, group);
};

methods.removeTopoJSON = function (layerId) {
  this.layerManager.removeLayer("topojson", layerId);
};

methods.clearTopoJSON = function () {
  this.layerManager.clearLayers("topojson");
};

methods.addControl = function (html, position, layerId, classes) {
  function onAdd(map) {
    var div = _leaflet2["default"].DomUtil.create("div", classes);

    if (typeof layerId !== "undefined" && layerId !== null) {
      div.setAttribute("id", layerId);
    }

    this._div = div; // It's possible for window.Shiny to be true but Shiny.initializeInputs to
    // not be, when a static leaflet widget is included as part of the shiny
    // UI directly (not through leafletOutput or uiOutput). In this case we
    // don't do the normal Shiny stuff as that will all happen when Shiny
    // itself loads and binds the entire doc.

    if (window.Shiny && _shiny2["default"].initializeInputs) {
      _shiny2["default"].renderHtml(html, this._div);

      _shiny2["default"].initializeInputs(this._div);

      _shiny2["default"].bindAll(this._div);
    } else {
      this._div.innerHTML = html;
    }

    return this._div;
  }

  function onRemove(map) {
    if (window.Shiny && _shiny2["default"].unbindAll) {
      _shiny2["default"].unbindAll(this._div);
    }
  }

  var Control = _leaflet2["default"].Control.extend({
    options: {
      position: position
    },
    onAdd: onAdd,
    onRemove: onRemove
  });

  this.controls.add(new Control(), layerId, html);
};

methods.addCustomControl = function (control, layerId) {
  this.controls.add(control, layerId);
};

methods.removeControl = function (layerId) {
  this.controls.remove(layerId);
};

methods.getControl = function (layerId) {
  this.controls.get(layerId);
};

methods.clearControls = function () {
  this.controls.clear();
};

methods.addLegend = function (options) {
  var legend = _leaflet2["default"].control({
    position: options.position
  });

  var gradSpan;

  legend.onAdd = function (map) {
    var div = _leaflet2["default"].DomUtil.create("div", options.className),
        colors = options.colors,
        labels = options.labels,
        legendHTML = "";

    if (options.type === "numeric") {
      // # Formatting constants.
      var singleBinHeight = 20; // The distance between tick marks, in px

      var vMargin = 8; // If 1st tick mark starts at top of gradient, how
      // many extra px are needed for the top half of the
      // 1st label? (ditto for last tick mark/label)

      var tickWidth = 4; // How wide should tick marks be, in px?

      var labelPadding = 6; // How much distance to reserve for tick mark?
      // (Must be >= tickWidth)
      // # Derived formatting parameters.
      // What's the height of a single bin, in percentage (of gradient height)?
      // It might not just be 1/(n-1), if the gradient extends past the tick
      // marks (which can be the case for pretty cut points).

      var singleBinPct = (options.extra.p_n - options.extra.p_1) / (labels.length - 1); // Each bin is `singleBinHeight` high. How tall is the gradient?

      var totalHeight = 1 / singleBinPct * singleBinHeight + 1; // How far should the first tick be shifted down, relative to the top
      // of the gradient?

      var tickOffset = singleBinHeight / singleBinPct * options.extra.p_1;
      gradSpan = (0, _jquery2["default"])("<span/>").css({
        "background": "linear-gradient(" + colors + ")",
        "opacity": options.opacity,
        "height": totalHeight + "px",
        "width": "18px",
        "display": "block",
        "margin-top": vMargin + "px"
      });
      var leftDiv = (0, _jquery2["default"])("<div/>").css("float", "left"),
          rightDiv = (0, _jquery2["default"])("<div/>").css("float", "left");
      leftDiv.append(gradSpan);
      (0, _jquery2["default"])(div).append(leftDiv).append(rightDiv).append((0, _jquery2["default"])("<br>")); // Have to attach the div to the body at this early point, so that the
      // svg text getComputedTextLength() actually works, below.

      document.body.appendChild(div);
      var ns = "http://www.w3.org/2000/svg";
      var svg = document.createElementNS(ns, "svg");
      rightDiv.append(svg);
      var g = document.createElementNS(ns, "g");
      (0, _jquery2["default"])(g).attr("transform", "translate(0, " + vMargin + ")");
      svg.appendChild(g); // max label width needed to set width of svg, and right-justify text

      var maxLblWidth = 0; // Create tick marks and labels

      _jquery2["default"].each(labels, function (i, label) {
        var y = tickOffset + i * singleBinHeight + 0.5;
        var thisLabel = document.createElementNS(ns, "text");
        (0, _jquery2["default"])(thisLabel).text(labels[i]).attr("y", y).attr("dx", labelPadding).attr("dy", "0.5ex");
        g.appendChild(thisLabel);
        maxLblWidth = Math.max(maxLblWidth, thisLabel.getComputedTextLength());
        var thisTick = document.createElementNS(ns, "line");
        (0, _jquery2["default"])(thisTick).attr("x1", 0).attr("x2", tickWidth).attr("y1", y).attr("y2", y).attr("stroke-width", 1);
        g.appendChild(thisTick);
      }); // Now that we know the max label width, we can right-justify


      (0, _jquery2["default"])(svg).find("text").attr("dx", labelPadding + maxLblWidth).attr("text-anchor", "end"); // Final size for <svg>

      (0, _jquery2["default"])(svg).css({
        width: maxLblWidth + labelPadding + "px",
        height: totalHeight + vMargin * 2 + "px"
      });

      if (options.na_color && _jquery2["default"].inArray(options.na_label, labels) < 0) {
        (0, _jquery2["default"])(div).append("<div><i style=\"" + "background:" + options.na_color + ";opacity:" + options.opacity + ";margin-right:" + labelPadding + "px" + ";\"></i>" + options.na_label + "</div>");
      }
    } else {
      if (options.na_color && _jquery2["default"].inArray(options.na_label, labels) < 0) {
        colors.push(options.na_color);
        labels.push(options.na_label);
      }

      for (var i = 0; i < colors.length; i++) {
        legendHTML += "<i style=\"background:" + colors[i] + ";opacity:" + options.opacity + "\"></i> " + labels[i] + "<br>";
      }

      div.innerHTML = legendHTML;
    }

    if (options.title) (0, _jquery2["default"])(div).prepend("<div style=\"margin-bottom:3px\"><strong>" + options.title + "</strong></div>");
    return div;
  };

  if (options.group) {
    // Auto generate a layerID if not provided
    if (!options.layerId) {
      options.layerId = _leaflet2["default"].Util.stamp(legend);
    }

    var map = this;
    map.on("overlayadd", function (e) {
      if (e.name === options.group) {
        map.controls.add(legend, options.layerId);
      }
    });
    map.on("overlayremove", function (e) {
      if (e.name === options.group) {
        map.controls.remove(options.layerId);
      }
    });
    map.on("groupadd", function (e) {
      if (e.name === options.group) {
        map.controls.add(legend, options.layerId);
      }
    });
    map.on("groupremove", function (e) {
      if (e.name === options.group) {
        map.controls.remove(options.layerId);
      }
    });
  }

  this.controls.add(legend, options.layerId);
};

methods.addLayersControl = function (baseGroups, overlayGroups, options) {
  var _this4 = this;

  // Only allow one layers control at a time
  methods.removeLayersControl.call(this);
  var firstLayer = true;
  var base = {};

  _jquery2["default"].each((0, _util.asArray)(baseGroups), function (i, g) {
    var layer = _this4.layerManager.getLayerGroup(g, true);

    if (layer) {
      base[g] = layer; // Check if >1 base layers are visible; if so, hide all but the first one

      if (_this4.hasLayer(layer)) {
        if (firstLayer) {
          firstLayer = false;
        } else {
          _this4.removeLayer(layer);
        }
      }
    }
  });

  var overlay = {};

  _jquery2["default"].each((0, _util.asArray)(overlayGroups), function (i, g) {
    var layer = _this4.layerManager.getLayerGroup(g, true);

    if (layer) {
      overlay[g] = layer;
    }
  });

  this.currentLayersControl = _leaflet2["default"].control.layers(base, overlay, options);
  this.addControl(this.currentLayersControl);
};

methods.removeLayersControl = function () {
  if (this.currentLayersControl) {
    this.removeControl(this.currentLayersControl);
    this.currentLayersControl = null;
  }
};

methods.addScaleBar = function (options) {
  // Only allow one scale bar at a time
  methods.removeScaleBar.call(this);

  var scaleBar = _leaflet2["default"].control.scale(options).addTo(this);

  this.currentScaleBar = scaleBar;
};

methods.removeScaleBar = function () {
  if (this.currentScaleBar) {
    this.currentScaleBar.remove();
    this.currentScaleBar = null;
  }
};

methods.hideGroup = function (group) {
  var _this5 = this;

  _jquery2["default"].each((0, _util.asArray)(group), function (i, g) {
    var layer = _this5.layerManager.getLayerGroup(g, true);

    if (layer) {
      _this5.removeLayer(layer);
    }
  });
};

methods.showGroup = function (group) {
  var _this6 = this;

  _jquery2["default"].each((0, _util.asArray)(group), function (i, g) {
    var layer = _this6.layerManager.getLayerGroup(g, true);

    if (layer) {
      _this6.addLayer(layer);
    }
  });
};

function setupShowHideGroupsOnZoom(map) {
  if (map.leafletr._hasInitializedShowHideGroups) {
    return;
  }

  map.leafletr._hasInitializedShowHideGroups = true;

  function setVisibility(layer, visible, group) {
    if (visible !== map.hasLayer(layer)) {
      if (visible) {
        map.addLayer(layer);
        map.fire("groupadd", {
          "name": group,
          "layer": layer
        });
      } else {
        map.removeLayer(layer);
        map.fire("groupremove", {
          "name": group,
          "layer": layer
        });
      }
    }
  }

  function showHideGroupsOnZoom() {
    if (!map.layerManager) return;
    var zoom = map.getZoom();
    map.layerManager.getAllGroupNames().forEach(function (group) {
      var layer = map.layerManager.getLayerGroup(group, false);

      if (layer && typeof layer.zoomLevels !== "undefined") {
        setVisibility(layer, layer.zoomLevels === true || layer.zoomLevels.indexOf(zoom) >= 0, group);
      }
    });
  }

  map.showHideGroupsOnZoom = showHideGroupsOnZoom;
  map.on("zoomend", showHideGroupsOnZoom);
}

methods.setGroupOptions = function (group, options) {
  var _this7 = this;

  _jquery2["default"].each((0, _util.asArray)(group), function (i, g) {
    var layer = _this7.layerManager.getLayerGroup(g, true); // This slightly tortured check is because 0 is a valid value for zoomLevels


    if (typeof options.zoomLevels !== "undefined" && options.zoomLevels !== null) {
      layer.zoomLevels = (0, _util.asArray)(options.zoomLevels);
    }
  });

  setupShowHideGroupsOnZoom(this);
  this.showHideGroupsOnZoom();
};

methods.addRasterImage = function (uri, bounds, opacity, attribution, layerId, group) {
  // uri is a data URI containing an image. We want to paint this image as a
  // layer at (top-left) bounds[0] to (bottom-right) bounds[1].
  // We can't simply use ImageOverlay, as it uses bilinear scaling which looks
  // awful as you zoom in (and sometimes shifts positions or disappears).
  // Instead, we'll use a TileLayer.Canvas to draw pieces of the image.
  // First, some helper functions.
  // degree2tile converts latitude, longitude, and zoom to x and y tile
  // numbers. The tile numbers returned can be non-integral, as there's no
  // reason to expect that the lat/lng inputs are exactly on the border of two
  // tiles.
  //
  // We'll use this to convert the bounds we got from the server, into coords
  // in tile-space at a given zoom level. Note that once we do the conversion,
  // we don't to do any more trigonometry to convert between pixel coordinates
  // and tile coordinates; the source image pixel coords, destination canvas
  // pixel coords, and tile coords all can be scaled linearly.
  function degree2tile(lat, lng, zoom) {
    // See http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames
    var latRad = lat * Math.PI / 180;
    var n = Math.pow(2, zoom);
    var x = (lng + 180) / 360 * n;
    var y = (1 - Math.log(Math.tan(latRad) + 1 / Math.cos(latRad)) / Math.PI) / 2 * n;
    return {
      x: x,
      y: y
    };
  } // Given a range [from,to) and either one or two numbers, returns true if
  // there is any overlap between [x,x1) and the range--or if x1 is omitted,
  // then returns true if x is within [from,to).


  function overlap(from, to, x,
  /* optional */
  x1) {
    if (arguments.length == 3) x1 = x;
    return x < to && x1 >= from;
  }

  function getCanvasSmoothingProperty(ctx) {
    var candidates = ["imageSmoothingEnabled", "mozImageSmoothingEnabled", "webkitImageSmoothingEnabled", "msImageSmoothingEnabled"];

    for (var i = 0; i < candidates.length; i++) {
      if (typeof ctx[candidates[i]] !== "undefined") {
        return candidates[i];
      }
    }

    return null;
  } // Our general strategy is to:
  // 1. Load the data URI in an Image() object, so we can get its pixel
  //    dimensions and the underlying image data. (We could have done this
  //    by not encoding as PNG at all but just send an array of RGBA values
  //    from the server, but that would inflate the JSON too much.)
  // 2. Create a hidden canvas that we use just to extract the image data
  //    from the Image (using Context2D.getImageData()).
  // 3. Create a TileLayer.Canvas and add it to the map.
  // We want to synchronously create and attach the TileLayer.Canvas (so an
  // immediate call to clearRasters() will be respected, for example), but
  // Image loads its data asynchronously. Fortunately we can resolve this
  // by putting TileLayer.Canvas into async mode, which will let us create
  // and attach the layer but have it wait until the image is loaded before
  // it actually draws anything.
  // These are the variables that we will populate once the image is loaded.


  var imgData = null; // 1d row-major array, four [0-255] integers per pixel

  var imgDataMipMapper = null;
  var w = null; // image width in pixels

  var h = null; // image height in pixels
  // We'll use this array to store callbacks that need to be invoked once
  // imgData, w, and h have been resolved.

  var imgDataCallbacks = []; // Consumers of imgData, w, and h can call this to be notified when data
  // is available.

  function getImageData(callback) {
    if (imgData != null) {
      // Must not invoke the callback immediately; it's too confusing and
      // fragile to have a function invoke the callback *either* immediately
      // or in the future. Better to be consistent here.
      setTimeout(function () {
        callback(imgData, w, h, imgDataMipMapper);
      }, 0);
    } else {
      imgDataCallbacks.push(callback);
    }
  }

  var img = new Image();

  img.onload = function () {
    // Save size
    w = img.width;
    h = img.height; // Create a dummy canvas to extract the image data

    var imgDataCanvas = document.createElement("canvas");
    imgDataCanvas.width = w;
    imgDataCanvas.height = h;
    imgDataCanvas.style.display = "none";
    document.body.appendChild(imgDataCanvas);
    var imgDataCtx = imgDataCanvas.getContext("2d");
    imgDataCtx.drawImage(img, 0, 0); // Save the image data.

    imgData = imgDataCtx.getImageData(0, 0, w, h).data;
    imgDataMipMapper = new _mipmapper2["default"](img); // Done with the canvas, remove it from the page so it can be gc'd.

    document.body.removeChild(imgDataCanvas); // Alert any getImageData callers who are waiting.

    for (var i = 0; i < imgDataCallbacks.length; i++) {
      imgDataCallbacks[i](imgData, w, h, imgDataMipMapper);
    }

    imgDataCallbacks = [];
  };

  img.src = uri;

  var canvasTiles = _leaflet2["default"].gridLayer({
    opacity: opacity,
    attribution: attribution,
    detectRetina: true,
    async: true
  }); // NOTE: The done() function MUST NOT be invoked until after the current
  // tick; done() looks in Leaflet's tile cache for the current tile, and
  // since it's still being constructed, it won't be found.


  canvasTiles.createTile = function (tilePoint, done) {
    var zoom = tilePoint.z;

    var canvas = _leaflet2["default"].DomUtil.create("canvas");

    var error; // setup tile width and height according to the options

    var size = this.getTileSize();
    canvas.width = size.x;
    canvas.height = size.y;
    getImageData(function (imgData, w, h, mipmapper) {
      try {
        // The Context2D we'll being drawing onto. It's always 256x256.
        var ctx = canvas.getContext("2d"); // Convert our image data's top-left and bottom-right locations into
        // x/y tile coordinates. This is essentially doing a spherical mercator
        // projection, then multiplying by 2^zoom.

        var topLeft = degree2tile(bounds[0][0], bounds[0][1], zoom);
        var bottomRight = degree2tile(bounds[1][0], bounds[1][1], zoom); // The size of the image in x/y tile coordinates.

        var extent = {
          x: bottomRight.x - topLeft.x,
          y: bottomRight.y - topLeft.y
        }; // Short circuit if tile is totally disjoint from image.

        if (!overlap(tilePoint.x, tilePoint.x + 1, topLeft.x, bottomRight.x)) return;
        if (!overlap(tilePoint.y, tilePoint.y + 1, topLeft.y, bottomRight.y)) return; // The linear resolution of the tile we're drawing is always 256px per tile unit.
        // If the linear resolution (in either direction) of the image is less than 256px
        // per tile unit, then use nearest neighbor; otherwise, use the canvas's built-in
        // scaling.

        var imgRes = {
          x: w / extent.x,
          y: h / extent.y
        }; // We can do the actual drawing in one of three ways:
        // - Call drawImage(). This is easy and fast, and results in smooth
        //   interpolation (bilinear?). This is what we want when we are
        //   reducing the image from its native size.
        // - Call drawImage() with imageSmoothingEnabled=false. This is easy
        //   and fast and gives us nearest-neighbor interpolation, which is what
        //   we want when enlarging the image. However, it's unsupported on many
        //   browsers (including QtWebkit).
        // - Do a manual nearest-neighbor interpolation. This is what we'll fall
        //   back to when enlarging, and imageSmoothingEnabled isn't supported.
        //   In theory it's slower, but still pretty fast on my machine, and the
        //   results look the same AFAICT.
        // Is imageSmoothingEnabled supported? If so, we can let canvas do
        // nearest-neighbor interpolation for us.

        var smoothingProperty = getCanvasSmoothingProperty(ctx);

        if (smoothingProperty || imgRes.x >= 256 && imgRes.y >= 256) {
          // Use built-in scaling
          // Turn off anti-aliasing if necessary
          if (smoothingProperty) {
            ctx[smoothingProperty] = imgRes.x >= 256 && imgRes.y >= 256;
          } // Don't necessarily draw with the full-size image; if we're
          // downscaling, use the mipmapper to get a pre-downscaled image
          // (see comments on Mipmapper class for why this matters).


          mipmapper.getBySize(extent.x * 256, extent.y * 256, function (mip) {
            // It's possible that the image will go off the edge of the canvas--
            // that's OK, the canvas should clip appropriately.
            ctx.drawImage(mip, // Convert abs tile coords to rel tile coords, then *256 to convert
            // to rel pixel coords
            (topLeft.x - tilePoint.x) * 256, (topLeft.y - tilePoint.y) * 256, // Always draw the whole thing and let canvas clip; so we can just
            // convert from size in tile coords straight to pixels
            extent.x * 256, extent.y * 256);
          });
        } else {
          // Use manual nearest-neighbor interpolation
          // Calculate the source image pixel coordinates that correspond with
          // the top-left and bottom-right of this tile. (If the source image
          // only partially overlaps the tile, we use max/min to limit the
          // sourceStart/End to only reflect the overlapping portion.)
          var sourceStart = {
            x: Math.max(0, Math.floor((tilePoint.x - topLeft.x) * imgRes.x)),
            y: Math.max(0, Math.floor((tilePoint.y - topLeft.y) * imgRes.y))
          };
          var sourceEnd = {
            x: Math.min(w, Math.ceil((tilePoint.x + 1 - topLeft.x) * imgRes.x)),
            y: Math.min(h, Math.ceil((tilePoint.y + 1 - topLeft.y) * imgRes.y))
          }; // The size, in dest pixels, that each source pixel should occupy.
          // This might be greater or less than 1 (e.g. if x and y resolution
          // are very different).

          var pixelSize = {
            x: 256 / imgRes.x,
            y: 256 / imgRes.y
          }; // For each pixel in the source image that overlaps the tile...

          for (var row = sourceStart.y; row < sourceEnd.y; row++) {
            for (var col = sourceStart.x; col < sourceEnd.x; col++) {
              // ...extract the pixel data...
              var i = (row * w + col) * 4;
              var r = imgData[i];
              var g = imgData[i + 1];
              var b = imgData[i + 2];
              var a = imgData[i + 3];
              ctx.fillStyle = "rgba(" + [r, g, b, a / 255].join(",") + ")"; // ...calculate the corresponding pixel coord in the dest image
              // where it should be drawn...

              var pixelPos = {
                x: (col / imgRes.x + topLeft.x - tilePoint.x) * 256,
                y: (row / imgRes.y + topLeft.y - tilePoint.y) * 256
              }; // ...and draw a rectangle there.

              ctx.fillRect(Math.round(pixelPos.x), Math.round(pixelPos.y), // Looks crazy, but this is necessary to prevent rounding from
              // causing overlap between this rect and its neighbors. The
              // minuend is the location of the next pixel, while the
              // subtrahend is the position of the current pixel (to turn an
              // absolute coordinate to a width/height). Yes, I had to look
              // up minuend and subtrahend.
              Math.round(pixelPos.x + pixelSize.x) - Math.round(pixelPos.x), Math.round(pixelPos.y + pixelSize.y) - Math.round(pixelPos.y));
            }
          }
        }
      } catch (e) {
        error = e;
      } finally {
        done(error, canvas);
      }
    });
    return canvas;
  };

  this.layerManager.addLayer(canvasTiles, "image", layerId, group);
};

methods.removeImage = function (layerId) {
  this.layerManager.removeLayer("image", layerId);
};

methods.clearImages = function () {
  this.layerManager.clearLayers("image");
};

methods.addMeasure = function (options) {
  // if a measureControl already exists, then remove it and
  //   replace with a new one
  methods.removeMeasure.call(this);
  this.measureControl = _leaflet2["default"].control.measure(options);
  this.addControl(this.measureControl);
};

methods.removeMeasure = function () {
  if (this.measureControl) {
    this.removeControl(this.measureControl);
    this.measureControl = null;
  }
};

methods.addSelect = function (ctGroup) {
  var _this8 = this;

  methods.removeSelect.call(this);
  this._selectButton = _leaflet2["default"].easyButton({
    states: [{
      stateName: "select-inactive",
      icon: "ion-qr-scanner",
      title: "Make a selection",
      onClick: function onClick(btn, map) {
        btn.state("select-active");
        _this8._locationFilter = new _leaflet2["default"].LocationFilter2();

        if (ctGroup) {
          var selectionHandle = new global.crosstalk.SelectionHandle(ctGroup);
          selectionHandle.on("change", function (e) {
            if (e.sender !== selectionHandle) {
              if (_this8._locationFilter) {
                _this8._locationFilter.disable();

                btn.state("select-inactive");
              }
            }
          });

          var handler = function handler(e) {
            _this8.layerManager.brush(_this8._locationFilter.getBounds(), {
              sender: selectionHandle
            });
          };

          _this8._locationFilter.on("enabled", handler);

          _this8._locationFilter.on("change", handler);

          _this8._locationFilter.on("disabled", function () {
            selectionHandle.close();
            _this8._locationFilter = null;
          });
        }

        _this8._locationFilter.addTo(map);
      }
    }, {
      stateName: "select-active",
      icon: "ion-close-round",
      title: "Dismiss selection",
      onClick: function onClick(btn, map) {
        btn.state("select-inactive");

        _this8._locationFilter.disable(); // If explicitly dismissed, clear the crosstalk selections


        _this8.layerManager.unbrush();
      }
    }]
  });

  this._selectButton.addTo(this);
};

methods.removeSelect = function () {
  if (this._locationFilter) {
    this._locationFilter.disable();
  }

  if (this._selectButton) {
    this.removeControl(this._selectButton);
    this._selectButton = null;
  }
};

methods.createMapPane = function (name, zIndex) {
  this.createPane(name);
  this.getPane(name).style.zIndex = zIndex;
};


}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
},{"./cluster-layer-store":1,"./crs_utils":3,"./dataframe":4,"./global/htmlwidgets":8,"./global/jquery":9,"./global/leaflet":10,"./global/shiny":12,"./mipmapper":16,"./util":17}],16:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

// This class simulates a mipmap, which shrinks images by powers of two. This
// stepwise reduction results in "pixel-perfect downscaling" (where every
// pixel of the original image has some contribution to the downscaled image)
// as opposed to a single-step downscaling which will discard a lot of data
// (and with sparse images at small scales can give very surprising results).
var Mipmapper = /*#__PURE__*/function () {
  function Mipmapper(img) {
    _classCallCheck(this, Mipmapper);

    this._layers = [img];
  } // The various functions on this class take a callback function BUT MAY OR MAY
  // NOT actually behave asynchronously.


  _createClass(Mipmapper, [{
    key: "getBySize",
    value: function getBySize(desiredWidth, desiredHeight, callback) {
      var _this = this;

      var i = 0;
      var lastImg = this._layers[0];

      var testNext = function testNext() {
        _this.getByIndex(i, function (img) {
          // If current image is invalid (i.e. too small to be rendered) or
          // it's smaller than what we wanted, return the last known good image.
          if (!img || img.width < desiredWidth || img.height < desiredHeight) {
            callback(lastImg);
            return;
          } else {
            lastImg = img;
            i++;
            testNext();
            return;
          }
        });
      };

      testNext();
    }
  }, {
    key: "getByIndex",
    value: function getByIndex(i, callback) {
      var _this2 = this;

      if (this._layers[i]) {
        callback(this._layers[i]);
        return;
      }

      this.getByIndex(i - 1, function (prevImg) {
        if (!prevImg) {
          // prevImg could not be calculated (too small, possibly)
          callback(null);
          return;
        }

        if (prevImg.width < 2 || prevImg.height < 2) {
          // Can't reduce this image any further
          callback(null);
          return;
        } // If reduce ever becomes truly asynchronous, we should stuff a promise or
        // something into this._layers[i] before calling this.reduce(), to prevent
        // redundant reduce operations from happening.


        _this2.reduce(prevImg, function (reducedImg) {
          _this2._layers[i] = reducedImg;
          callback(reducedImg);
          return;
        });
      });
    }
  }, {
    key: "reduce",
    value: function reduce(img, callback) {
      var imgDataCanvas = document.createElement("canvas");
      imgDataCanvas.width = Math.ceil(img.width / 2);
      imgDataCanvas.height = Math.ceil(img.height / 2);
      imgDataCanvas.style.display = "none";
      document.body.appendChild(imgDataCanvas);

      try {
        var imgDataCtx = imgDataCanvas.getContext("2d");
        imgDataCtx.drawImage(img, 0, 0, img.width / 2, img.height / 2);
        callback(imgDataCanvas);
      } finally {
        document.body.removeChild(imgDataCanvas);
      }
    }
  }]);

  return Mipmapper;
}();

exports["default"] = Mipmapper;


},{}],17:[function(require,module,exports){
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.log = log;
exports.recycle = recycle;
exports.asArray = asArray;

function log(message) {
  /* eslint-disable no-console */
  if (console && console.log) console.log(message);
  /* eslint-enable no-console */
}

function recycle(values, length, inPlace) {
  if (length === 0 && !inPlace) return [];

  if (!(values instanceof Array)) {
    if (inPlace) {
      throw new Error("Can't do in-place recycling of a non-Array value");
    }

    values = [values];
  }

  if (typeof length === "undefined") length = values.length;
  var dest = inPlace ? values : [];
  var origLength = values.length;

  while (dest.length < length) {
    dest.push(values[dest.length % origLength]);
  }

  if (dest.length > length) {
    dest.splice(length, dest.length - length);
  }

  return dest;
}

function asArray(value) {
  if (value instanceof Array) return value;else return [value];
}


},{}]},{},[13]);
</script>
<style type="text/css">.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}
.leaflet-cluster-spider-leg {

-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}
</style>
<style type="text/css">.marker-cluster-small {
background-color: rgba(181, 226, 140, 0.6);
}
.marker-cluster-small div {
background-color: rgba(110, 204, 57, 0.6);
}
.marker-cluster-medium {
background-color: rgba(241, 211, 87, 0.6);
}
.marker-cluster-medium div {
background-color: rgba(240, 194, 12, 0.6);
}
.marker-cluster-large {
background-color: rgba(253, 156, 115, 0.6);
}
.marker-cluster-large div {
background-color: rgba(241, 128, 23, 0.6);
}

.leaflet-oldie .marker-cluster-small {
background-color: rgb(181, 226, 140);
}
.leaflet-oldie .marker-cluster-small div {
background-color: rgb(110, 204, 57);
}
.leaflet-oldie .marker-cluster-medium {
background-color: rgb(241, 211, 87);
}
.leaflet-oldie .marker-cluster-medium div {
background-color: rgb(240, 194, 12);
}
.leaflet-oldie .marker-cluster-large {
background-color: rgb(253, 156, 115);
}
.leaflet-oldie .marker-cluster-large div {
background-color: rgb(241, 128, 23);
}
.marker-cluster {
background-clip: padding-box;
border-radius: 20px;
}
.marker-cluster div {
width: 30px;
height: 30px;
margin-left: 5px;
margin-top: 5px;
text-align: center;
border-radius: 15px;
font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.marker-cluster span {
line-height: 30px;
}</style>
<script>/*
 Leaflet.markercluster, Provides Beautiful Animated Marker Clustering functionality for Leaflet, a JS library for interactive maps.
 https://github.com/Leaflet/Leaflet.markercluster
 (c) 2012-2017, Dave Leaver
*/
!function(e,t,i){L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(e){L.Util.setOptions(this,e),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation),this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(e){if(e instanceof L.LayerGroup)return this.addLayers([e]);if(!e.getLatLng)return this._nonPointGroup.addLayer(e),this.fire("layeradd",{layer:e}),this;if(!this._map)return this._needsClustering.push(e),this.fire("layeradd",{layer:e}),this;if(this.hasLayer(e))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(e,this._maxZoom),this.fire("layeradd",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var t=e,i=this._zoom;if(e.__parent)for(;t.__parent._zoom>=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):e.getLatLng?this._map?e.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire("layerremove",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire("layerremove",{layer:e}),this):(this._nonPointGroup.removeLayer(e),this.fire("layerremove",{layer:e}),this)},addLayers:function(e,t){if(!L.Util.isArray(e))return this.addLayer(e);var i,n=this._featureGroup,r=this._nonPointGroup,s=this.options.chunkedLoading,o=this.options.chunkInterval,a=this.options.chunkProgress,h=e.length,l=0,u=!0;if(this._map){var _=(new Date).getTime(),d=L.bind(function(){for(var c=(new Date).getTime();h>l;l++){if(s&&0===l%200){var p=(new Date).getTime()-c;if(p>o)break}if(i=e[l],i instanceof L.LayerGroup)u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length;else if(i.getLatLng){if(!this.hasLayer(i)&&(this._addLayer(i,this._maxZoom),t||this.fire("layeradd",{layer:i}),i.__parent&&2===i.__parent.getChildCount())){var f=i.__parent.getAllChildMarkers(),m=f[0]===i?f[1]:f[0];n.removeLayer(m)}}else r.addLayer(i),t||this.fire("layeradd",{layer:i})}a&&a(l,h,(new Date).getTime()-_),l===h?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(d,this.options.chunkDelay)},this);d()}else for(var c=this._needsClustering;h>l;l++)i=e[l],i instanceof L.LayerGroup?(u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length):i.getLatLng?this.hasLayer(i)||c.push(i):r.addLayer(i);return this},removeLayers:function(e){var t,i,n=e.length,r=this._featureGroup,s=this._nonPointGroup,o=!0;if(!this._map){for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):(this._arraySplice(this._needsClustering,i),s.removeLayer(i),this.hasLayer(i)&&this._needsRemoving.push({layer:i,latlng:i._latlng}),this.fire("layerremove",{layer:i}));return this}if(this._unspiderfy){this._unspiderfy();var a=e.slice(),h=n;for(t=0;h>t;t++)i=a[t],i instanceof L.LayerGroup?(this._extractNonGroupLayers(i,a),h=a.length):this._unspiderfyLayer(i)}for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):i.__parent?(this._removeLayer(i,!0,!0),this.fire("layerremove",{layer:i}),r.hasLayer(i)&&(r.removeLayer(i),i.clusterShow&&i.clusterShow())):(s.removeLayer(i),this.fire("layerremove",{layer:i}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(e){e.off(this._childMarkerEventHandlers,this),delete e.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var e=new L.LatLngBounds;this._topClusterLevel&&e.extend(this._topClusterLevel._bounds);for(var t=this._needsClustering.length-1;t>=0;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var i,n,r,s=this._needsClustering.slice(),o=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(s),n=s.length-1;n>=0;n--){for(i=!0,r=o.length-1;r>=0;r--)if(o[r].layer===s[n]){i=!1;break}i&&e.call(t,s[n])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var e=[];return this.eachLayer(function(t){e.push(t)}),e},getLayer:function(e){var t=null;return e=parseInt(e,10),this.eachLayer(function(i){L.stamp(i)===e&&(t=i)}),t},hasLayer:function(e){if(!e)return!1;var t,i=this._needsClustering;for(t=i.length-1;t>=0;t--)if(i[t]===e)return!0;for(i=this._needsRemoving,t=i.length-1;t>=0;t--)if(i[t].layer===e)return!1;return!(!e.__parent||e.__parent._group!==this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){"function"!=typeof t&&(t=function(){});var i=function(){!e._icon&&!e.__parent._icon||this._inZoomAnimation||(this._map.off("moveend",i,this),this.off("animationend",i,this),e._icon?t():e.__parent._icon&&(this.once("spiderfied",t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoom<Math.round(this._map._zoom)?(this._map.on("moveend",i,this),this._map.panTo(e.getLatLng())):(this._map.on("moveend",i,this),this.on("animationend",i,this),e.__parent.zoomToBounds())},onAdd:function(e){this._map=e;var t,i,n;if(!isFinite(this._map.getMaxZoom()))throw"Map has no maxZoom specified";for(this._featureGroup.addTo(e),this._nonPointGroup.addTo(e),this._gridClusters||this._generateInitialClusters(),this._maxLat=e.options.crs.projection.MAX_LATITUDE,t=0,i=this._needsRemoving.length;i>t;t++)n=this._needsRemoving[t],n.newlatlng=n.layer._latlng,n.layer._latlng=n.latlng;for(t=0,i=this._needsRemoving.length;i>t;t++)n=this._needsRemoving[t],this._removeLayer(n.layer,!0),n.layer._latlng=n.newlatlng;this._needsRemoving=[],this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds(),this._map.on("zoomend",this._zoomEnd,this),this._map.on("moveend",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),i=this._needsClustering,this._needsClustering=[],this.addLayers(i,!0)},onRemove:function(e){e.off("zoomend",this._zoomEnd,this),e.off("moveend",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim",""),this._spiderfierOnRemove&&this._spiderfierOnRemove(),delete this._maxLat,this._hideCoverage(),this._featureGroup.remove(),this._nonPointGroup.remove(),this._featureGroup.clearLayers(),this._map=null},getVisibleParent:function(e){for(var t=e;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(e,t){for(var i=e.length-1;i>=0;i--)if(e[i]===t)return e.splice(i,1),!0},_removeFromGridUnclustered:function(e,t){for(var i=this._map,n=this._gridUnclustered,r=Math.floor(this._map.getMinZoom());t>=r&&n[t].removeObject(e,i.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,i){e._latlng=t,this.removeLayer(e),e._latlng=i,this.addLayer(e)},_childMarkerDragEnd:function(e){e.target.__dragStart&&this._moveChild(e.target,e.target.__dragStart,e.target._latlng),delete e.target.__dragStart},_removeLayer:function(e,t,i){var n=this._gridClusters,r=this._gridUnclustered,s=this._featureGroup,o=this._map,a=Math.floor(this._map.getMinZoom());t&&this._removeFromGridUnclustered(e,this._maxZoom);var h,l=e.__parent,u=l._markers;for(this._arraySplice(u,e);l&&(l._childCount--,l._boundsNeedUpdate=!0,!(l._zoom<a));)t&&l._childCount<=1?(h=l._markers[0]===e?l._markers[1]:l._markers[0],n[l._zoom].removeObject(l,o.project(l._cLatLng,l._zoom)),r[l._zoom].addObject(h,o.project(h.getLatLng(),l._zoom)),this._arraySplice(l.__parent._childClusters,l),l.__parent._markers.push(h),h.__parent=l.__parent,l._icon&&(s.removeLayer(l),i||s.addLayer(h))):l._iconNeedsUpdate=!0,l=l.__parent;delete e.__parent},_isOrIsParent:function(e,t){for(;t;){if(e===t)return!0;t=t.parentNode}return!1},fire:function(e,t,i){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;e="cluster"+e}L.FeatureGroup.prototype.fire.call(this,e,t,i)},listens:function(e,t){return L.FeatureGroup.prototype.listens.call(this,e,t)||L.FeatureGroup.prototype.listens.call(this,"cluster"+e,t)},_defaultIconCreateFunction:function(e){var t=e.getChildCount(),i=" marker-cluster-";return i+=10>t?"small":100>t?"medium":"large",new L.DivIcon({html:"<div><span>"+t+"</span></div>",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,n=this.options.zoomToBoundsOnClick;(t||n)&&this.on("clusterclick",this._zoomOrSpiderfy,this),i&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),e.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(e){for(var t=e.layer,i=t;1===i._childClusters.length;)i=i._childClusters[0];i._zoom===this._maxZoom&&i._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),e.originalEvent&&13===e.originalEvent.keyCode&&this._map._container.focus()},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),e.layer.getChildCount()>2&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,n=this._map;(e||i)&&this.off("clusterclick",this._zoomOrSpiderfy,this),t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),n.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=Math.ceil(this._map.getMaxZoom()),t=Math.floor(this._map.getMinZoom()),i=this.options.maxClusterRadius,n=i;"function"!=typeof i&&(n=function(){return i}),null!==this.options.disableClusteringAtZoom&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var r=e;r>=t;r--)this._gridClusters[r]=new L.DistanceGrid(n(r)),this._gridUnclustered[r]=new L.DistanceGrid(n(r));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var i,n,r=this._gridClusters,s=this._gridUnclustered,o=Math.floor(this._map.getMinZoom());for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);t>=o;t--){i=this._map.project(e.getLatLng(),t);var a=r[t].getNearObject(i);if(a)return a._addChild(e),e.__parent=a,void 0;if(a=s[t].getNearObject(i)){var h=a.__parent;h&&this._removeLayer(a,!1);var l=new this._markerCluster(this,t,a,e);r[t].addObject(l,this._map.project(l._cLatLng,t)),a.__parent=l,e.__parent=l;var u=l;for(n=t-1;n>h._zoom;n--)u=new this._markerCluster(this,n,u),r[n].addObject(u,this._map.project(a.getLatLng(),n));return h._addChild(u),this._removeFromGridUnclustered(a,t),void 0}s[t].addObject(e,i)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()})},_enqueue:function(e){this._queue.push(e),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var e=0;e<this._queue.length;e++)this._queue[e].call(this);this._queue.length=0,clearTimeout(this._queueTimeout),this._queueTimeout=null},_mergeSplitClusters:function(){var e=Math.round(this._map._zoom);this._processQueue(),this._zoom<e&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,e)):this._zoom>e?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return t!==i&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()<=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]),this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var i,n=e.getLayers(),r=0;for(t=t||[];r<n.length;r++)i=n[r],i instanceof L.LayerGroup?this._extractNonGroupLayers(i,t):t.push(i);return t},_overrideMarkerIcon:function(e){var t=e.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[e]}});return t}}),L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-1/0,-1/0),new L.LatLng(1/0,1/0))}),L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire("animationend")},_animationZoomOut:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire("animationend")},_animationAddLayer:function(e,t){this._animationAddLayerNonAnimated(e,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=" leaflet-cluster-anim",this._inZoomAnimation++},_animationZoomIn:function(e,t){var i,n=this._getExpandedVisibleBounds(),r=this._featureGroup,s=Math.floor(this._map.getMinZoom());this._ignoreMove=!0,this._topClusterLevel._recursively(n,e,s,function(s){var o,a=s._latlng,h=s._markers;for(n.contains(a)||(a=null),s._isSingleParent()&&e+1===t?(r.removeLayer(s),s._recursivelyAddChildrenToMap(null,t,n)):(s.clusterHide(),s._recursivelyAddChildrenToMap(a,t,n)),i=h.length-1;i>=0;i--)o=h[i],n.contains(o._latlng)||r.removeLayer(o)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(n,t),r.eachLayer(function(e){e instanceof L.MarkerCluster||!e._icon||e.clusterShow()}),this._topClusterLevel._recursively(n,e,t,function(e){e._recursivelyRestoreChildPositions(t)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(n,e,s,function(e){r.removeLayer(e),e.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var i=this,n=this._featureGroup;n.addLayer(e),t!==e&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue(function(){n.removeLayer(e),e.clusterShow(),i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(e,t,i){var n=this._getExpandedVisibleBounds(),r=Math.floor(this._map.getMinZoom());e._recursivelyAnimateChildrenInAndAddSelfToMap(n,r,t+1,i);var s=this;this._forceLayout(),e._recursivelyBecomeVisible(n,i),this._enqueue(function(){if(1===e._childCount){var o=e._markers[0];this._ignoreMove=!0,o.setLatLng(o.getLatLng()),this._ignoreMove=!1,o.clusterShow&&o.clusterShow()}else e._recursively(n,i,r,function(e){e._recursivelyRemoveChildrenFromMap(n,r,t+1)});s._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(t.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)},L.MarkerCluster=L.Marker.extend({initialize:function(e,t,i,n){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this,pane:e.options.clusterPane}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,i&&this._addChild(i),n&&this._addChild(n)},getAllChildMarkers:function(e){e=e||[];for(var t=this._childClusters.length-1;t>=0;t--)this._childClusters[t].getAllChildMarkers(e);for(var i=this._markers.length-1;i>=0;i--)e.push(this._markers[i]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(e){for(var t,i=this._childClusters.slice(),n=this._group._map,r=n.getBoundsZoom(this._bounds),s=this._zoom+1,o=n.getZoom();i.length>0&&r>s;){s++;var a=[];for(t=0;t<i.length;t++)a=a.concat(i[t]._childClusters);i=a}r>s?this._group._map.setView(this._latlng,s):o>=r?this._group._map.setView(this._latlng,o+1):this._group._map.fitBounds(this._bounds,e)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||(this._cLatLng=e._cLatLng||e._latlng)},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e,t,i,n,r=this._markers,s=this._childClusters,o=0,a=0,h=this._childCount;if(0!==h){for(this._resetBounds(),e=0;e<r.length;e++)i=r[e]._latlng,this._bounds.extend(i),o+=i.lat,a+=i.lng;for(e=0;e<s.length;e++)t=s[e],t._boundsNeedUpdate&&t._recalculateBounds(),this._bounds.extend(t._bounds),i=t._wLatLng,n=t._childCount,o+=i.lat*n,a+=i.lng*n;this._latlng=this._wLatLng=new L.LatLng(o/h,a/h),this._boundsNeedUpdate=!1}},_addToMap:function(e){e&&(this._backupLatlng=this._latlng,this.setLatLng(e)),this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(e,t,i){this._recursively(e,this._group._map.getMinZoom(),i-1,function(e){var i,n,r=e._markers;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())},function(e){var i,n,r=e._childClusters;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(e,t,i,n){this._recursively(e,n,t,function(r){r._recursivelyAnimateChildrenIn(e,r._group._map.latLngToLayerPoint(r.getLatLng()).round(),i),r._isSingleParent()&&i-1===n?(r.clusterShow(),r._recursivelyRemoveChildrenFromMap(e,t,i)):r.clusterHide(),r._addToMap()})},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,function(e){e.clusterShow()})},_recursivelyAddChildrenToMap:function(e,t,i){this._recursively(i,this._group._map.getMinZoom()-1,t,function(n){if(t!==n._zoom)for(var r=n._markers.length-1;r>=0;r--){var s=n._markers[r];i.contains(s._latlng)&&(e&&(s._backupLatlng=s.getLatLng(),s.setLatLng(e),s.clusterHide&&s.clusterHide()),n._group._featureGroup.addLayer(s))}},function(t){t._addToMap(e)})},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;t>=0;t--){var i=this._markers[t];i._backupLatlng&&(i.setLatLng(i._backupLatlng),delete i._backupLatlng)}if(e-1===this._zoom)for(var n=this._childClusters.length-1;n>=0;n--)this._childClusters[n]._restorePosition();else for(var r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,i,n){var r,s;this._recursively(e,t-1,i-1,function(e){for(s=e._markers.length-1;s>=0;s--)r=e._markers[s],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())},function(e){for(s=e._childClusters.length-1;s>=0;s--)r=e._childClusters[s],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())})},_recursively:function(e,t,i,n,r){var s,o,a=this._childClusters,h=this._zoom;if(h>=t&&(n&&n(this),r&&h===i&&r(this)),t>h||i>h)for(s=a.length-1;s>=0;s--)o=a[s],e.intersects(o._bounds)&&o._recursively(e,t,i,n,r)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}}),L.Marker.include({clusterHide:function(){return this.options.opacityWhenUnclustered=this.options.opacity||1,this.setOpacity(0)},clusterShow:function(){var e=this.setOpacity(this.options.opacity||this.options.opacityWhenUnclustered);return delete this.options.opacityWhenUnclustered,e}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var i=this._getCoord(t.x),n=this._getCoord(t.y),r=this._grid,s=r[n]=r[n]||{},o=s[i]=s[i]||[],a=L.Util.stamp(e);this._objectPoint[a]=t,o.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var i,n,r=this._getCoord(t.x),s=this._getCoord(t.y),o=this._grid,a=o[s]=o[s]||{},h=a[r]=a[r]||[];for(delete this._objectPoint[L.Util.stamp(e)],i=0,n=h.length;n>i;i++)if(h[i]===e)return h.splice(i,1),1===n&&delete a[r],!0},eachObject:function(e,t){var i,n,r,s,o,a,h,l=this._grid;for(i in l){o=l[i];for(n in o)for(a=o[n],r=0,s=a.length;s>r;r++)h=e.call(t,a[r]),h&&(r--,s--)}},getNearObject:function(e){var t,i,n,r,s,o,a,h,l=this._getCoord(e.x),u=this._getCoord(e.y),_=this._objectPoint,d=this._sqCellSize,c=null;for(t=u-1;u+1>=t;t++)if(r=this._grid[t])for(i=l-1;l+1>=i;i++)if(s=r[i])for(n=0,o=s.length;o>n;n++)a=s[n],h=this._sqDist(_[L.Util.stamp(a)],e),(d>h||d>=h&&null===c)&&(d=h,c=a);return c},_getCoord:function(e){var t=Math.floor(e/this._cellSize);return isFinite(t)?t:e},_sqDist:function(e,t){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n}},function(){L.QuickHull={getDistant:function(e,t){var i=t[1].lat-t[0].lat,n=t[0].lng-t[1].lng;return n*(e.lat-t[0].lat)+i*(e.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(e,t){var i,n,r,s=0,o=null,a=[];for(i=t.length-1;i>=0;i--)n=t[i],r=this.getDistant(n,e),r>0&&(a.push(n),r>s&&(s=r,o=n));return{maxPoint:o,newPoints:a}},buildConvexHull:function(e,t){var i=[],n=this.findMostDistantPointFromBaseLine(e,t);return n.maxPoint?(i=i.concat(this.buildConvexHull([e[0],n.maxPoint],n.newPoints)),i=i.concat(this.buildConvexHull([n.maxPoint,e[1]],n.newPoints))):[e[0]]},getConvexHull:function(e){var t,i=!1,n=!1,r=!1,s=!1,o=null,a=null,h=null,l=null,u=null,_=null;for(t=e.length-1;t>=0;t--){var d=e[t];(i===!1||d.lat>i)&&(o=d,i=d.lat),(n===!1||d.lat<n)&&(a=d,n=d.lat),(r===!1||d.lng>r)&&(h=d,r=d.lng),(s===!1||d.lng<s)&&(l=d,s=d.lng)}n!==i?(_=a,u=o):(_=l,u=h);var c=[].concat(this.buildConvexHull([_,u],e),this.buildConvexHull([u,_],e));return c}}}(),L.MarkerCluster.include({getConvexHull:function(){var e,t,i=this.getAllChildMarkers(),n=[];for(t=i.length-1;t>=0;t--)e=i[t].getLatLng(),n.push(e);return L.QuickHull.getConvexHull(n)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:Math.PI/6,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var e,t=this.getAllChildMarkers(),i=this._group,n=i._map,r=n.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,t.length>=this._circleSpiralSwitchover?e=this._generatePointsSpiral(t.length,r):(r.y+=10,e=this._generatePointsCircle(t.length,r)),this._animationSpiderfy(t,e)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var i,n,r=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e),s=r/this._2PI,o=this._2PI/e,a=[];for(a.length=e,i=e-1;i>=0;i--)n=this._circleStartAngle+i*o,a[i]=new L.Point(t.x+s*Math.cos(n),t.y+s*Math.sin(n))._round();return a},_generatePointsSpiral:function(e,t){var i,n=this._group.options.spiderfyDistanceMultiplier,r=n*this._spiralLengthStart,s=n*this._spiralFootSeparation,o=n*this._spiralLengthFactor*this._2PI,a=0,h=[];for(h.length=e,i=e-1;i>=0;i--)a+=s/r+5e-4*i,h[i]=new L.Point(t.x+r*Math.cos(a),t.y+r*Math.sin(a))._round(),r+=o/a;return h},_noanimationUnspiderfy:function(){var e,t,i=this._group,n=i._map,r=i._featureGroup,s=this.getAllChildMarkers();for(i._ignoreMove=!0,this.setOpacity(1),t=s.length-1;t>=0;t--)e=s[t],r.removeLayer(e),e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng),e.setZIndexOffset&&e.setZIndexOffset(0),e._spiderLeg&&(n.removeLayer(e._spiderLeg),delete e._spiderLeg);i.fire("unspiderfied",{cluster:this,markers:s}),i._ignoreMove=!1,i._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var i,n,r,s,o=this._group,a=o._map,h=o._featureGroup,l=this._group.options.spiderLegPolylineOptions;for(o._ignoreMove=!0,i=0;i<e.length;i++)s=a.layerPointToLatLng(t[i]),n=e[i],r=new L.Polyline([this._latlng,s],l),a.addLayer(r),n._spiderLeg=r,n._preSpiderfyLatlng=n._latlng,n.setLatLng(s),n.setZIndexOffset&&n.setZIndexOffset(1e6),h.addLayer(n);this.setOpacity(.3),o._ignoreMove=!1,o.fire("spiderfied",{cluster:this,markers:e})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}}),L.MarkerCluster.include({_animationSpiderfy:function(e,t){var n,r,s,o,a,h,l=this,u=this._group,_=u._map,d=u._featureGroup,c=this._latlng,p=_.latLngToLayerPoint(c),f=L.Path.SVG,m=L.extend({},this._group.options.spiderLegPolylineOptions),g=m.opacity;for(g===i&&(g=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),f?(m.opacity=0,m.className=(m.className||"")+" leaflet-cluster-spider-leg"):m.opacity=g,u._ignoreMove=!0,n=0;n<e.length;n++)r=e[n],h=_.layerPointToLatLng(t[n]),s=new L.Polyline([c,h],m),_.addLayer(s),r._spiderLeg=s,f&&(o=s._path,a=o.getTotalLength()+.1,o.style.strokeDasharray=a,o.style.strokeDashoffset=a),r.setZIndexOffset&&r.setZIndexOffset(1e6),r.clusterHide&&r.clusterHide(),d.addLayer(r),r._setPos&&r._setPos(p);for(u._forceLayout(),u._animationStart(),n=e.length-1;n>=0;n--)h=_.layerPointToLatLng(t[n]),r=e[n],r._preSpiderfyLatlng=r._latlng,r.setLatLng(h),r.clusterShow&&r.clusterShow(),f&&(s=r._spiderLeg,o=s._path,o.style.strokeDashoffset=0,s.setStyle({opacity:g}));this.setOpacity(.3),u._ignoreMove=!1,setTimeout(function(){u._animationEnd(),u.fire("spiderfied",{cluster:l,markers:e})},200)},_animationUnspiderfy:function(e){var t,i,n,r,s,o,a=this,h=this._group,l=h._map,u=h._featureGroup,_=e?l._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):l.latLngToLayerPoint(this._latlng),d=this.getAllChildMarkers(),c=L.Path.SVG;for(h._ignoreMove=!0,h._animationStart(),this.setOpacity(1),i=d.length-1;i>=0;i--)t=d[i],t._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,o=!0,t._setPos&&(t._setPos(_),o=!1),t.clusterHide&&(t.clusterHide(),o=!1),o&&u.removeLayer(t),c&&(n=t._spiderLeg,r=n._path,s=r.getTotalLength()+.1,r.style.strokeDashoffset=s,n.setStyle({opacity:0})));h._ignoreMove=!1,setTimeout(function(){var e=0;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&e++;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),e>1&&u.removeLayer(t),l.removeLayer(t._spiderLeg),delete t._spiderLeg);h._animationEnd(),h.fire("unspiderfied",{cluster:a,markers:d})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this),this._map.on("zoomend",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._map.off("zoomend",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()
},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,i;for(t in e)for(i=e[t].__parent;i;)i._iconNeedsUpdate=!0,i=i.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,i;for(t in e)i=e[t],this.hasLayer(i)&&i.setIcon(this._overrideMarkerIcon(i))}}),L.Marker.include({refreshIconOptions:function(e,t){var i=this.options.icon;return L.setOptions(i,e),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}})}(window,document);</script>
<script>/*!
 Leaflet.MarkerCluster.Freezable 1.0.0+9db80a3
 (c) 2015-2016 Boris Seang
 License MIT
 */
!function(e,i){"function"==typeof define&&define.amd?define(["leaflet"],i):i("object"==typeof module&&module.exports?require("leaflet"):e.L)}(this,function(e,i){e.MarkerClusterGroup.include({_originalOnAddFreezable:e.MarkerClusterGroup.prototype.onAdd,onAdd:function(e){var i=this._zoom;this._originalOnAddFreezable(e),this._frozen&&(i>=0&&i!==this._zoom&&(this._featureGroup.clearLayers(),this._zoom=i,this.addLayers([])),e.off("zoomend",this._zoomEnd,this),e.off("moveend",this._moveEnd,this),e.on("zoomend moveend",this._viewChangeEndNotClustering,this))},_originalOnRemove:e.MarkerClusterGroup.prototype.onRemove,onRemove:function(e){e.off("zoomend moveend",this._viewChangeEndNotClustering,this),this._originalOnRemove(e)},disableClustering:function(){return this.freezeAtZoom(this._maxZoom+1)},disableClusteringKeepSpiderfy:function(){return this.freezeAtZoom(this._maxZoom)},enableClustering:function(){return this.unfreeze()},unfreeze:function(){return this.freezeAtZoom(!1)},freezeAtZoom:function(e){this._processQueue();var o=this._map;e===i||e===!0||e!==e?e=o?Math.round(o.getZoom()):-1:"max"===e?e=this._maxZoom+1:"maxKeepSpiderfy"===e&&(e=this._maxZoom);var t="number"==typeof e;if(this._frozen){if(!t)return this._unfreeze(),this}else{if(!t)return this;this._initiateFreeze()}return this._artificialZoomSafe(this._zoom,e),this},_initiateFreeze:function(){var e=this._map;this._frozen=!0,e&&(e.off("zoomend",this._zoomEnd,this),e.off("moveend",this._moveEnd,this),e.on("zoomend moveend",this._viewChangeEndNotClustering,this))},_unfreeze:function(){var e=this._map;this._frozen=!1,e&&(e.off("zoomend moveend",this._viewChangeEndNotClustering,this),e.on("zoomend",this._zoomEnd,this),e.on("moveend",this._moveEnd,this),this._executeAfterUnspiderfy(function(){this._zoomEnd()},this))},_executeAfterUnspiderfy:function(e,i){return this._unspiderfy&&this._spiderfied?(this.once("animationend",function(){e.call(i)}),void this._unspiderfy()):void e.call(i)},_artificialZoomSafe:function(e,i){this._zoom=i,this._map&&e!==i&&this._executeAfterUnspiderfy(function(){this._artificialZoom(e,i)},this)},_artificialZoom:function(e,i){e<i?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,this._map.getMinZoom(),e,this._getExpandedVisibleBounds()),this._animationZoomIn(e,i)):e>i&&(this._animationStart(),this._animationZoomOut(e,i))},_viewChangeEndNotClustering:function(){var e=this._featureGroup,i=this._getExpandedVisibleBounds(),o=this._zoom;e.eachLayer(function(t){!i.contains(t._latlng)&&t.__parent&&t.__parent._zoom<o&&e.removeLayer(t)}),this._topClusterLevel._recursively(i,-1,o,function(t){if(t._zoom!==o)for(var n,r=t._markers,s=0;s<r.length;s++)n=t._markers[s],i.contains(n._latlng)&&e.addLayer(n)},function(e){e._addToMap()}),this._currentShownBounds=i},_originalZoomOrSpiderfy:e.MarkerClusterGroup.prototype._zoomOrSpiderfy,_zoomOrSpiderfy:function(e){this._frozen&&this.options.spiderfyOnMaxZoom?(e.layer.spiderfy(),e.originalEvent&&13===e.originalEvent.keyCode&&map._container.focus()):this._originalZoomOrSpiderfy(e)}})});</script>
<script>/*!
 Leaflet.MarkerCluster.LayerSupport 1.0.5+87f3848
 (c) 2015-2017 Boris Seang
 License MIT
 */
!function(e,r){"function"==typeof define&&define.amd?define(["leaflet"],r):r("object"==typeof module&&module.exports?require("leaflet"):e.L)}(this,function(e,r){e.MarkerClusterGroup.LayerSupport=e.MarkerClusterGroup.extend({options:{singleAddRemoveBufferDuration:100},initialize:function(r){e.MarkerClusterGroup.prototype.initialize.call(this,r),this._featureGroup=new o,this._featureGroup.addEventParent(this),this._nonPointGroup=new o,this._nonPointGroup.addEventParent(this),this._layers={},this._proxyLayerGroups={},this._proxyLayerGroupsNeedRemoving={},this._singleAddRemoveBuffer=[]},checkIn:function(e){var r=this._toArray(e);return this._checkInGetSeparated(r),this},checkOut:function(r){var o,t,i=this._toArray(r),a=this._separateSingleFromGroupLayers(i,{groups:[],singles:[]}),s=a.groups,n=a.singles;for(o=0;o<n.length;o++)t=n[o],delete this._layers[e.stamp(t)],delete t._mcgLayerSupportGroup;for(this._originalRemoveLayers(n),o=0;o<s.length;o++)t=s[o],this._dismissProxyLayerGroup(t);return this},addLayers:function(r){var o,t,i,a=this._toArray(r),s=this._checkInGetSeparated(a),n=s.groups;for(this._originalAddLayers(s.singles),o=0;o<n.length;o++)t=n[o],i=e.stamp(t),this._proxyLayerGroups[i]=t,delete this._proxyLayerGroupsNeedRemoving[i],this._map&&this._map._originalAddLayer(t)},addLayer:function(e){return this._bufferSingleAddRemove(e,"addLayers"),this},_originalAddLayer:e.MarkerClusterGroup.prototype.addLayer,_originalAddLayers:e.MarkerClusterGroup.prototype.addLayers,removeLayers:function(r){var o,t,i=this._toArray(r),a=this._separateSingleFromGroupLayers(i,{groups:[],singles:[]}),s=a.groups,n=a.singles,p=0;for(this._originalRemoveLayers(n);p<s.length;p++)o=s[p],t=e.stamp(o),delete this._proxyLayerGroups[t],this._map?this._map._originalRemoveLayer(o):this._proxyLayerGroupsNeedRemoving[t]=o;return this},removeLayer:function(e){return this._bufferSingleAddRemove(e,"removeLayers"),this},_originalRemoveLayer:e.MarkerClusterGroup.prototype.removeLayer,_originalRemoveLayers:e.MarkerClusterGroup.prototype.removeLayers,onAdd:function(r){r._originalAddLayer=r._originalAddLayer||r.addLayer,r._originalRemoveLayer=r._originalRemoveLayer||r.removeLayer,e.extend(r,i);var o,t,a,s=this._removePreAddedLayers(r);this._originalOnAdd.call(this,r);for(o in this._proxyLayerGroups)t=this._proxyLayerGroups[o],r._originalAddLayer(t);for(o in this._proxyLayerGroupsNeedRemoving)t=this._proxyLayerGroupsNeedRemoving[o],r._originalRemoveLayer(t),delete this._proxyLayerGroupsNeedRemoving[o];for(a=0;a<s.length;a++)r.addLayer(s[a])},_originalOnAdd:e.MarkerClusterGroup.prototype.onAdd,_bufferSingleAddRemove:function(r,o){var t,i=this.options.singleAddRemoveBufferDuration;i>0?(this._singleAddRemoveBuffer.push({type:o,layer:r}),this._singleAddRemoveBufferTimeout||(t=e.bind(this._processSingleAddRemoveBuffer,this),this._singleAddRemoveBufferTimeout=setTimeout(t,i))):this[o](r)},_processSingleAddRemoveBuffer:function(){for(var e,r,o=this._singleAddRemoveBuffer,t=0,i=[];t<o.length;t++)e=o[t],r||(r=e.type),e.type===r?i.push(e.layer):(this[r](i),r=e.type,i=[e.layer]);this[r](i),o.length=0,clearTimeout(this._singleAddRemoveBufferTimeout),this._singleAddRemoveBufferTimeout=null},_checkInGetSeparated:function(r){var o,t,i=this._separateSingleFromGroupLayers(r,{groups:[],singles:[]}),a=i.groups,s=i.singles;for(o=0;o<a.length;o++)t=a[o],this._recruitLayerGroupAsProxy(t);for(o=0;o<s.length;o++)t=s[o],this._removeFromOtherGroupsOrMap(t),this._layers[e.stamp(t)]=t,t._mcgLayerSupportGroup=this;return i},_separateSingleFromGroupLayers:function(r,o){for(var t,i=o.groups,a=o.singles,s=e.Util.isArray,n=0;n<r.length;n++)t=r[n],t instanceof e.LayerGroup?(i.push(t),this._separateSingleFromGroupLayers(t.getLayers(),o)):s(t)?this._separateSingleFromGroupLayers(t,o):a.push(t);return o},_recruitLayerGroupAsProxy:function(r){var o=r._proxyMcgLayerSupportGroup;if(o){if(o===this)return;o.checkOut(r)}else this._removeFromOwnMap(r);r._proxyMcgLayerSupportGroup=this,r._originalAddLayer=r._originalAddLayer||r.addLayer,r._originalRemoveLayer=r._originalRemoveLayer||r.removeLayer,e.extend(r,t)},_dismissProxyLayerGroup:function(o){if(o._proxyMcgLayerSupportGroup!==r&&o._proxyMcgLayerSupportGroup===this){delete o._proxyMcgLayerSupportGroup,o.addLayer=o._originalAddLayer,o.removeLayer=o._originalRemoveLayer;var t=e.stamp(o);delete this._proxyLayerGroups[t],delete this._proxyLayerGroupsNeedRemoving[t],this._removeFromOwnMap(o)}},_removeFromOtherGroupsOrMap:function(e){var r=e._mcgLayerSupportGroup;if(r){if(r===this)return;r.checkOut(e)}else e.__parent?e.__parent._group.removeLayer(e):this._removeFromOwnMap(e)},_removeFromOwnMap:function(e){e._map&&e._map.removeLayer(e)},_removePreAddedLayers:function(e){var r,o=this._layers,t=[];for(var i in o)r=o[i],r._map&&(t.push(r),e._originalRemoveLayer(r));return t},_toArray:function(r){return e.Util.isArray(r)?r:[r]}});var o=e.FeatureGroup.extend({addLayer:function(r){if(this.hasLayer(r))return this;r.addEventParent(this);var o=e.stamp(r);return this._layers[o]=r,this._map&&this._map._originalAddLayer(r),this.fire("layeradd",{layer:r})},removeLayer:function(r){if(!this.hasLayer(r))return this;r in this._layers&&(r=this._layers[r]),r.removeEventParent(this);var o=e.stamp(r);return this._map&&this._layers[o]&&this._map._originalRemoveLayer(this._layers[o]),delete this._layers[o],this.fire("layerremove",{layer:r})},onAdd:function(e){this._map=e,this.eachLayer(e._originalAddLayer,e)},onRemove:function(e){this.eachLayer(e._originalRemoveLayer,e),this._map=null}}),t={addLayer:function(e){var r=this.getLayerId(e);return this._layers[r]=e,this._map?this._proxyMcgLayerSupportGroup.addLayer(e):this._proxyMcgLayerSupportGroup.checkIn(e),this},removeLayer:function(e){var r=e in this._layers?e:this.getLayerId(e);return this._proxyMcgLayerSupportGroup.removeLayer(e),delete this._layers[r],this},onAdd:function(){this._proxyMcgLayerSupportGroup.addLayers(this.getLayers())},onRemove:function(){this._proxyMcgLayerSupportGroup.removeLayers(this.getLayers())}},i={addLayer:function(e){return e._mcgLayerSupportGroup?e._mcgLayerSupportGroup._originalAddLayer(e):this._originalAddLayer(e)},removeLayer:function(e){return e._mcgLayerSupportGroup?e._mcgLayerSupportGroup._originalRemoveLayer(e):this._originalRemoveLayer(e)}};e.markerClusterGroup.layerSupport=function(r){return new e.MarkerClusterGroup.LayerSupport(r)}});</script>
<script>!function(t){var i={};function a(e){if(i[e])return i[e].exports;var s=i[e]={i:e,l:!1,exports:{}};return t[e].call(s.exports,s,s.exports,a),s.l=!0,s.exports}a.m=t,a.c=i,a.d=function(t,i,e){a.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:e})},a.r=function(t){Object.defineProperty(t,"__esModule",{value:!0})},a.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(i,"a",i),i},a.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},a.p="",a(a.s=0)}([function(t,i,a){"use strict";!function(){function t(i){return this instanceof t?(this._canvas=i="string"==typeof i?document.getElementById(i):i,this._ctx=i.getContext("2d"),this._width=i.width,this._height=i.height,this._max=1,void this.clear()):new t(i)}t.prototype={defaultRadius:25,defaultGradient:{.4:"blue",.6:"cyan",.7:"lime",.8:"yellow",1:"red"},data:function(t,i){return this._data=t,this},max:function(t){return this._max=t,this},add:function(t){return this._data.push(t),this},clear:function(){return this._data=[],this},radius:function(t,i){i=i||15;var a=this._circle=document.createElement("canvas"),e=a.getContext("2d"),s=this._r=t+i;return a.width=a.height=2*s,e.shadowOffsetX=e.shadowOffsetY=200,e.shadowBlur=i,e.shadowColor="black",e.beginPath(),e.arc(s-200,s-200,t,0,2*Math.PI,!0),e.closePath(),e.fill(),this},gradient:function(t){var i=document.createElement("canvas"),a=i.getContext("2d"),e=a.createLinearGradient(0,0,0,256);for(var s in i.width=1,i.height=256,t)e.addColorStop(s,t[s]);return a.fillStyle=e,a.fillRect(0,0,1,256),this._grad=a.getImageData(0,0,1,256).data,this},draw:function(t){this._circle||this.radius(this.defaultRadius),this._grad||this.gradient(this.defaultGradient);var i=this._ctx;i.clearRect(0,0,this._width,this._height);for(var a,e=0,s=this._data.length;e<s;e++)a=this._data[e],i.globalAlpha=Math.max(a[2]/this._max,t||.05),i.drawImage(this._circle,a[0]-this._r,a[1]-this._r);var n=i.getImageData(0,0,this._width,this._height);return this._colorize(n.data,this._grad),i.putImageData(n,0,0),this},_colorize:function(t,i){for(var a,e=3,s=t.length;e<s;e+=4)(a=4*t[e])&&(t[e-3]=i[a],t[e-2]=i[a+1],t[e-1]=i[a+2])}},window.simpleheat=t}(),L.HeatLayer=(L.Layer?L.Layer:L.Class).extend({initialize:function(t,i){this._latlngs=t,L.setOptions(this,i)},setLatLngs:function(t){return this._latlngs=t,this.redraw()},addLatLng:function(t){return this._latlngs.push(t),this.redraw()},setOptions:function(t){return L.setOptions(this,t),this._heat&&this._updateOptions(),this.redraw()},redraw:function(){return this._heat&&!this._frame&&this._map&&!this._map._animating&&(this._frame=L.Util.requestAnimFrame(this._redraw,this)),this},onAdd:function(t){this._map=t,this._canvas||this._initCanvas(),this.options.pane?this.getPane().appendChild(this._canvas):t._panes.overlayPane.appendChild(this._canvas),t.on("moveend",this._reset,this),t.options.zoomAnimation&&L.Browser.any3d&&t.on("zoomanim",this._animateZoom,this),this._reset()},onRemove:function(t){this.options.pane?this.getPane().removeChild(this._canvas):t.getPanes().overlayPane.removeChild(this._canvas),t.off("moveend",this._reset,this),t.options.zoomAnimation&&t.off("zoomanim",this._animateZoom,this)},addTo:function(t){return t.addLayer(this),this},_initCanvas:function(){var t=this._canvas=L.DomUtil.create("canvas","leaflet-heatmap-layer leaflet-layer"),i=L.DomUtil.testProp(["transformOrigin","WebkitTransformOrigin","msTransformOrigin"]);t.style[i]="50% 50%";var a=this._map.getSize();t.width=a.x,t.height=a.y;var e=this._map.options.zoomAnimation&&L.Browser.any3d;L.DomUtil.addClass(t,"leaflet-zoom-"+(e?"animated":"hide")),this._heat=simpleheat(t),this._updateOptions()},_updateOptions:function(){this._heat.radius(this.options.radius||this._heat.defaultRadius,this.options.blur),this.options.gradient&&this._heat.gradient(this.options.gradient),this.options.max&&this._heat.max(this.options.max)},_reset:function(){var t=this._map.containerPointToLayerPoint([0,0]);L.DomUtil.setPosition(this._canvas,t);var i=this._map.getSize();this._heat._width!==i.x&&(this._canvas.width=this._heat._width=i.x),this._heat._height!==i.y&&(this._canvas.height=this._heat._height=i.y),this._redraw()},_redraw:function(){if(this._map){var t,i,a,e,s,n,h,o,r,l=[],d=this._heat._r,_=this._map.getSize(),c=new L.Bounds(L.point([-d,-d]),_.add([d,d])),u=void 0===this.options.max?1:this.options.max,m=void 0===this.options.cellSize?d/2:this.options.cellSize,f=[],p=this._map._getMapPanePos(),g=p.x%m,v=p.y%m;for(t=0,i=this._latlngs.length;t<i;t++)if(a=this._map.latLngToContainerPoint(this._latlngs[t]),c.contains(a)){s=Math.floor((a.x-g)/m)+2,n=Math.floor((a.y-v)/m)+2,r=1*(void 0!==this._latlngs[t].alt?this._latlngs[t].alt:void 0!==this._latlngs[t][2]?+this._latlngs[t][2]:1),f[n]=f[n]||[],(e=f[n][s])?(e[0]=(e[0]*e[2]+a.x*r)/(e[2]+r),e[1]=(e[1]*e[2]+a.y*r)/(e[2]+r),e[2]=e[2]*(1-r/u)+r):f[n][s]=[a.x,a.y,r]}for(t=0,i=f.length;t<i;t++)if(f[t])for(h=0,o=f[t].length;h<o;h++)(e=f[t][h])&&l.push([Math.round(e[0]),Math.round(e[1]),Math.min(e[2],u)]);this._heat.data(l).draw(this.options.minOpacity),this._frame=null}},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),a=this._map._getCenterOffset(t.center)._multiplyBy(-i).subtract(this._map._getMapPanePos());L.DomUtil.setTransform?L.DomUtil.setTransform(this._canvas,a,i):this._canvas.style[L.DomUtil.TRANSFORM]=L.DomUtil.getTranslateString(a)+" scale("+i+")"}}),L.heatLayer=function(t,i){return new L.HeatLayer(t,i)}}]);
//# sourceMappingURL=lfx-heat-prod.js.map</script>
<script>!function(e){var t={};function a(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,a),o.l=!0,o.exports}a.m=e,a.c=t,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},a.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=0)}([function(e,t){function a(e,t){var a=null;return e&&("string"==typeof t?a=e.properties[t]:"function"==typeof t&&(a=t(e))),a}function r(e,t,r,o,n,i){var s=function e(t,r){var o=[];if(void 0===t||null===t)return o;if("string"==typeof t&&(t=JSON.parse(t)),"Topology"===t.type){var n=[];for(var i in t.objects){var s=topojson.feature(t,t.objects[i]);L.Util.isArray(s)?n=n.concat(s):"features"in s?n=n.concat(s.features):n.push(s)}return e(n,r)}var u=L.Util.isArray(t)?t:t.features;return u?$.each(u,function(t,n){var i=null,s=null;"Point"===n.geometry.type?(i=parseFloat(n.geometry.coordinates[1]),s=parseFloat(n.geometry.coordinates[0]),i&&s&&(r?o.push([i,s,a(n,r)]):o.push([i,s]))):"MultiPoint"===n.geometry.type&&(o=o.concat(e(n,r)))}):"Feature"===t.type&&$.each(t.geometry.coordinates,function(e,n){var i,s;i=parseFloat(n[1]),s=parseFloat(n[0]),i&&s&&(r?o.push([i,s,a(t,r)]):o.push([i,s]))}),o}(t,r);if(!$.isEmptyObject(s)){var u=L.heatLayer(s,i);e.layerManager.addLayer(u,"heatmap",o,n)}}LeafletWidget.methods.addHeatmap=function(e,t,a,r){if(!$.isEmptyObject(e)){var o=L.heatLayer(e,r);this.layerManager.addLayer(o,"heatmap",t,a)}},LeafletWidget.methods.addGeoJSONHeatmap=function(e,t,a,o,n){var i=this;LeafletWidget.utils.isURL(e)?$.getJSON(e,function(e){r(i,e,t,a,o,n)}):r(i,e,t,a,o,n)},LeafletWidget.methods.addKMLHeatmap=function(e,t,a,o,n){var i=this;if(LeafletWidget.utils.isURL(e))$.getJSON(e,function(e){var s=toGeoJSON.kml(LeafletWidget.utils.parseXML(e));r(i,s,t,a,o,n)});else{var s=toGeoJSON.kml(LeafletWidget.utils.parseXML(e));r(i,s,t,a,o,n)}},LeafletWidget.methods.addCSVHeatmap=function(e,t,a,o,n,i){var s=this;LeafletWidget.utils.isURL(e)?$.getJSON(e,function(e){csv2geojson.csv2geojson(e,i||{},function(e,i){r(s,i,t,a,o,n)})}):csv2geojson.csv2geojson(e,i||{},function(e,i){r(s,i,t,a,o,n)})},LeafletWidget.methods.addGPXHeatmap=function(e,t,a,o,n){var i=this;if(LeafletWidget.utils.isURL(e))$.getJSON(e,function(e){var s=toGeoJSON.gpx(LeafletWidget.utils.parseXML(e));r(i,s,t,a,o,n)});else{var s=toGeoJSON.gpx(LeafletWidget.utils.parseXML(e));r(i,s,t,a,o,n)}},LeafletWidget.methods.removeHeatmap=function(e){this.layerManager.removeLayer("heatmap",e)},LeafletWidget.methods.clearHeatmap=function(){this.layerManager.clearLayers("heatmap")}}]);
//# sourceMappingURL=lfx-heat-bindings.js.map</script>

</head>
<body>
<div id="htmlwidget_container">
  <div id="htmlwidget-53b988b104448f990280" style="width:100%;height:400px;" class="leaflet html-widget"></div>
</div>
<script type="application/json" data-for="htmlwidget-53b988b104448f990280">{"x":{"options":{"crs":{"crsClass":"L.CRS.EPSG3857","code":null,"proj4def":null,"projectedBounds":null,"options":{}}},"calls":[{"method":"addTiles","args":["http://rt{s}.map.gtimg.com/realtimerender?z={z}&x={x}&y={y}&type=vector&style=0",null,null,{"minZoom":4,"maxZoom":17,"tileSize":256,"subdomains":"0123","errorTileUrl":"","tms":true,"noWrap":false,"zoomOffset":0,"zoomReverse":false,"opacity":1,"zIndex":1,"detectRetina":false,"attribution":"&copy; <a href=\"https://youmigo.gitee.io/shanghai_nucleic_acid/\">youmigo🍐<\/a>"}]},{"method":"addMarkers","args":[[31.378557086,31.376557094,31.37691092,31.3770530033,31.3806027175,31.387425023,31.3918235292,31.377910904,31.384457146,31.38224027,31.3879685859,31.3893667,31.3870462775,31.3831865788,31.3812705875,31.3928318024,31.3910849036,31.379615593,31.3895227704,31.3905417951,31.3851823693359,31.4584010839,31.4822598276,31.4439568524,31.467319241,31.4682769775,31.462768793,31.4756566286,31.4795702261,31.466680537,31.4708738183,31.4760000891,31.4578378201,31.4708304405,31.4813583844,31.4732390642,31.45590408,31.3709406853,31.3725256919,31.3537949324,31.3842988013,31.3823711872,31.3788994181,31.3729951265,31.3815528732,31.3790831592,31.3935130835,31.3846839967,31.389523719,31.3992154598,31.4048373699,31.3998946918,31.3954353332,31.4027988911,31.4070153236,31.4084690809,31.3980841727243,31.3760745212,31.3705104589,31.36901377,31.3852817285,31.3842594624,31.3807940483,31.382829845,31.3639014959,31.3739034533,31.383220694,31.3888165355,31.3800041858,31.3844820857,31.3757514954,31.3759223766,31.3882049918,31.3915765285,31.3744023442,31.3949078321,31.3828647137,31.356664896,31.3958466053,31.3896077871,31.3944250345,31.3412261009,31.3386395938,31.3320797682,31.3463652134,31.335579,31.3287001848,31.3332143426,31.3332565275,31.3420348963,31.339072287,31.3421273232,31.3349202275,31.3315540552,31.3379645348,31.3453290996,31.33058846,31.341843009,31.3367738425,31.340024,31.3351106644,31.328226,31.3477814198,31.3429668546,31.346057,31.332735579,31.3294780254,31.3332867622,31.3370901346,31.3401666284,31.3387672201,31.3363460705,31.3292473555,31.327204585018,31.3329488041472,31.3321197439393,31.3396224336861,31.4121492821,31.4102548196,31.4155864042,31.4044001063,31.4087563,31.4031797647,31.401583951,31.4096707106,31.4153677225,31.408007741,31.4150351286,31.401476562,31.3980701566,31.4116033117,31.3919949532,31.4147615433,31.4081901312,31.396930218,31.4094293118,31.4058056474,31.393738389,31.3990625739,31.4045162523,31.396125555,31.3986307383,31.4064413309,31.4142975211,31.41184488,31.4036611001,31.3965064287,31.396375,31.4045530558,31.4017546311,31.4017179608,31.4077100158,31.3920807838,31.3830766082,31.4122913018,31.4221027493,31.3854342699,31.4148366451,31.4028418064,31.387732923,31.411100328,31.4289611578,31.42129914,31.4007335901,31.4060242403,31.3901200891,31.3874191046,31.4265914464,31.3834646716,31.4052128792,31.3781064749,31.4287868142,31.3894709945,31.4165156082,31.316921606,31.3239821395,31.3180543098,31.3230705214,31.3059446285,31.3195860386,31.3214206696,31.3236951828,31.300676372,31.315984188,31.3212302327,31.3161474466,31.3186553121,31.3138353825,31.321242066,31.321242066,31.3193204999,31.3022240996,31.3120704889,31.3185077906,31.3166999817,31.3170406222,31.3226447411,31.31278785,31.2973371148,31.31275177,31.309248805,31.31794903,31.3130789995,31.3132882118,31.3310873508,31.3094735742,31.2967550755,31.3012358518,31.3189423084,31.2911278009,31.3036000729,31.3380557299,31.2817293406,31.3286358118,31.3281235099,31.3122466414,31.2853297695,31.3310176134,31.3111036995,31.2932065129,31.3010948896,31.313406229,31.298262103,31.3173707704,31.3044548035,31.3287162781,31.3089966774,31.2985911459,31.305179894,31.3155949116,31.2900817394,31.285725832,31.3054949775,31.2778267264,31.2773117423,31.272668839,31.3047373295,31.2873351574,31.2815952301,31.2782509123,31.2971574068,31.3041687012,31.2867209315,31.2887915969,31.2957743996,31.2890022554,31.2677183629,31.2739858031,31.2849748135,31.2756460905,31.2751311064,31.2716950687335,31.2863417956,31.2895010394,31.281360537,31.2765553594,31.282158494,31.303755641,31.2769550085,31.272876783,31.2730202079,31.2809488177,31.3015945142,31.3161753417,31.31612844,31.3192588090896,31.2974578142,31.4017227888,31.4007094501,31.3622857684,31.3946425569,31.3649346607,31.394356456,31.3729224835,31.3841575384,31.3937973976,31.3956391581,31.3630183708,31.3953952796,31.3704541326,31.3610777603,31.3997008509,31.388691378,31.3681232929,31.3929104805,31.3632068038,31.3578677093,31.4062443264,31.3668626547,31.3704434037,31.3857258547,31.367729708,31.3734081044,31.3536607257,31.3830356834,31.3929283619,31.3719930333,31.3961711526,31.3588802023,31.4026364238,31.394269466,31.3855689987,31.359722614,31.384175842,31.4032173157,31.3703159894,31.4092254639,31.3991671801,31.4089092879,31.3782995939,31.3949829339981,31.3630683311951,31.3893771172,31.3691468709603,31.3596636057,31.3912810276613,31.3631397486,31.3707357645,31.4051721658493,31.3620120463131,31.3746795663651,31.3694214821,31.405287981,31.3916784525,31.384871006,31.4553867515,31.4509286494,31.440961361,31.4137986302,31.4050067942,31.4651709795,31.440077902,31.4509177208,31.4157325029,31.456951423,31.4317238331,31.423279,31.4488202333,31.428912878,31.4128947258,31.4235645533,31.4182806015,31.4067486284,31.4186037707,31.4141724633,31.4054918289185,31.4529991149903,31.43088248,31.4912259579,31.4672121406,31.4848583937,31.4685451984,31.496976614,31.4873099327,31.456759572,31.4629876614,31.4783808589,31.4683469147,31.4837650695,31.4921486378,31.4799070358,31.4774795971,31.4667588472,31.4868105051,31.3868021965,31.3909354806,31.381435539,31.3999993347,31.38901184,31.3916528208,31.3834171253,31.3835181239202,31.3869255784038,31.3492459059,31.3714814186,31.3460969925,31.3560962677,31.329558,31.3528454304,31.3475453854,31.3600337505,31.3470035791,31.3426694425,31.3619890809,31.3667231798,31.3488301635,31.3528937101,31.3503161073,31.3616323471,31.362607645,31.3470647117,31.3516947627,31.3550046086,31.3607895055,31.3584887981,31.369232,31.3565093279,31.3603234291,31.3525182009,31.3528481126,31.3482964039,31.3639390469,31.3546934724,31.3576841354,31.339614,31.3834735751,31.3578437269,31.3626623154,31.358268857,31.3495489955,31.3435017202,31.3770515343,31.3451850414,31.3611710072,31.3826752795,31.3548570871,31.3611669838,31.375956934,31.3509707455,31.3581669331,31.3557245382,31.3785517216,31.35650042,31.3796943426,31.3496898115,31.3479396701,31.34630084,31.3327241597995,31.3432431221,31.3262298703,31.3217478991,31.3256979888,31.3242906332,31.322611349,31.3190978765,31.3259160519,31.3292312622,31.3228958845,31.3204336166,31.3242550449,31.3350976781,31.3255351782,31.3138058782,31.3276863098,31.3193077825,31.3245454431,31.3186901808,31.3137093186,31.3146400452,31.323538295,31.3195028901,31.3175743818283,31.3334530592,31.338275671,31.3334417109,31.3302773237,31.322583477,31.337505877,31.3174188137,31.3304489851,31.3284309191,31.3344320717,31.3228475815,31.340842545,31.3870355487,31.3265077646,31.3422096936,31.3300466537,31.3356143323,31.3272222877,31.3230864231,31.3331526518,31.3292527199,31.3243228197,31.3304677606,31.3362739203,31.3371475092,31.3444276914,31.3362693787,31.353263855,31.3441282511,31.3389284776,31.3401693106,31.3358294964,31.3483285904,31.3453781605,31.343430929,31.3440236789,31.3398179412,31.3359108422,31.3484883131,31.3441898574,31.338710627,31.3496884704,31.3410010806,31.3509571552,31.3483513892,31.3469070196,31.2240513681,31.226551461,31.2241999071,31.2178651102,31.2248514165,31.227437235,31.223461275,31.2194910206,31.2201246317,31.2269097138,31.2295068625,31.220679581,31.2256070556,31.2265608226,31.2274733842,31.2213890121,31.2296994735,31.2256660762,31.2234354981,31.2185770808,31.2196418242,31.2273290218,31.2221872519,31.2253979363,31.2200549367,31.22855473,31.2309312942,31.2242144514,31.2284770419,31.2225013678,31.2225013678,31.2270367494,31.2188140547,31.2240787243,31.2273762735,31.2295104958,31.2215972132,31.2323742527,31.23285746,31.23285746,31.2242784812,31.2314795375,31.225293,31.233970177,31.2322777066,31.2296670911,31.2383608846,31.234131248,31.2316859792,31.2435134625,31.2295085587,31.24373006,31.2358724098,31.2358687622,31.2336956929,31.2401175499,31.2286389473,31.2383899748,31.243115,31.2418853864,31.2293588259,31.2343566977,31.2413087058,31.2397503473,31.2297670099,31.238965388,31.2445726991,31.2373578225,31.23241961,31.2397949315,31.24388449,31.2435000861,31.235882,31.23447973,31.2359705108,31.2420192361,31.2394312104,31.2459808358,31.2343578918,31.2421638362,31.2394152747,31.2367873981,31.2430305338,31.2401714873,31.2387793474,31.2374328798,31.2350591355,31.2390097976,31.2097267284,31.2076639673,31.2142401813,31.2094161216,31.2086966017,31.2114117662,31.2152833045,31.213917732,31.2157302302,31.2061650425,31.2125068903,31.2073047459,31.2073047459,31.2098404595,31.2161370462,31.213984096,31.2123156293,31.2111120528,31.2136047055,31.2121042287,31.20500268,31.214768859,31.2059426737,31.2137087802,31.2167834802,31.2130438437,31.2056943479,31.2154993311,31.209786,31.2037302325,31.2135730353,31.2129871247,31.2135827197,31.21320058,31.2085294301,31.2138489072,31.2198887477,31.219570228,31.1797483169,31.178253729,31.1741822018,31.1827849146,31.1703072067,31.1737204918,31.17840251,31.176228651,31.1819303507,31.1766249515,31.1697420098,31.1717157455,31.1846280931,31.1786308201,31.1718998878,31.1771636814,31.1863777744,31.181278219,31.17439028,31.1798741702,31.1774077406,31.1719819307,31.183737881,31.1710806137,31.185197716,31.17289626,31.1875197611,31.1708417614,31.181877738,31.17072972,31.1765331204,31.182629684,31.1790743432,31.174516332,31.1857952266,31.1810066521,31.1841374482,31.1724970773,31.1792852781,31.1832985626,31.1851825794,31.17431052,31.182263501,31.1786308724,31.1755543518,31.1861996931,31.1841562931,31.1808549176,31.17552126,31.181088564,31.1773934696,31.1807629466,31.1477158511,31.1464118201,31.1481798914,31.1491440561,31.1469889315,31.1465799809,31.1503279209,31.1485773677,31.1481338739,31.1473995884,31.1421145876,31.145969823,31.1487615108,31.1484843809,31.1431449652,31.1499436548,31.1418682337,31.1447703838,31.1466163559,31.1449357844,31.1444963759,31.1436167361,31.1510252953,31.1465246438,31.1465089688,31.1418672914,31.13894978,31.1436472368,31.1469241978,31.1511745696,31.1399396097,31.1425356248,31.1489863693,31.1417285414,31.1525463013,31.1469724774,31.162301302,31.1629208853,31.1425308311,31.1532031024,31.1508040213,31.1442071199,31.1457949878,31.1474725897,31.1414273254,31.1446542796,31.1443668,31.1467337444,31.1446055691,31.150471228,31.1432202719,31.1418055999,31.1465479442,31.1448471009,31.2420755625,31.2447611131,31.2384482273,31.2444129729,31.2423920631,31.2317803183,31.2352978185,31.2457555532,31.2332135439,31.2468043662,31.2487757206,31.2381341046,31.2462820183,31.2435856462,31.2305022806,31.2348926067,31.2384411693,31.2452700734,31.2491780519,31.2397297127,31.2506103516,31.2412279844,31.2341791391,31.2332169054,31.242595911,31.237583,31.2316568524,31.2483663493,31.2460740991,31.2412993876,31.2498121107,31.2352412939,31.2387786449,31.2440094352,31.2510180473,31.2479314663,31.2349660732,31.2496757554,31.2486281991,31.2397634983,31.2467862288,31.2477617686,31.2437492609,31.2443715334,31.2360942364,31.2394986661,31.2468997333,31.2425208092,31.2450979278,31.2384063005,31.2452620267,31.256441474,31.2457126379,31.2520238757,31.2476467819,31.2480407953262,31.246522665,31.2614303827,31.24665911,31.242890954,31.2467050552368,31.247600913,31.2567810279,31.24941,31.2510430812,31.25680089,31.2464666686,31.2490278482,31.2564951181,31.2550842762,31.2563556433,31.2584336084,31.1741005691,31.169441981,31.1730152434,31.1670668846,31.1722996017,31.1678961816,31.1701876591,31.1681316802,31.1745336381,31.1747462591,31.1696914905,31.1740074002,31.1759175031,31.1714492474,31.1807022832,31.1782204189,31.1744029272,31.1680112654,31.170671095,31.1777348022,31.1746925986,31.1691262442,31.1490780115,31.2685275078,31.2704313882,31.27420664,31.2877804041,31.2744247909,31.2744247909,31.2744247909,31.2693482637,31.2839367986,31.2862509358,31.2695722282,31.2861781632,31.2631396326,31.2590736,31.2751418352,31.2603521347,31.2761449814,31.2806645036,31.2875765562,31.28545,31.2679105997,31.2661363184,31.2653973699,31.2807261944,31.2677907945,31.2743371725,31.2821826339,31.2591290474,31.271304,31.2614786625,31.2755656242,31.2776309252,31.2876033783,31.2689548729,31.2721860409,31.2858331203,31.2629806995,31.2683129311,31.2650996447,31.2763850391,31.280425787,31.2724444271,31.2872385979,31.2702441216,31.2661510702,31.2854897976,31.2854897976,31.2757346034,31.2838590145,31.2735486031,31.2558621168,31.25098563,31.25616117,31.2557655573,31.25143906,31.2496125698,31.24943616,31.2631523609,31.25451343,31.2515920401,31.25444986,31.2515759468,31.2595152855,31.2595152855,31.2463644147,31.2492330209,31.24195004,31.24484324,31.2615993619,31.2554115057,31.25477369,31.2674117088,31.2527990341,31.2473541498,31.2594704135,31.2435722351,31.24875627,31.264104,31.24233209,31.2523698807,31.2501382828,31.24924241,31.24924241,31.246587038,31.2565106881,31.2604115022,31.2443634868,31.252117753,31.2563330052,31.2523108721,31.2486630678,31.2596333027,31.2448275089,31.2470805645,31.2458199263,31.2548321486,31.2580347061,31.2568813562,31.2535259128,31.249242425,31.2470859289,31.2566648543,31.2541481853,31.25674056,31.2525200844,31.2499290705,31.2524047494,31.3227134943,31.26237444,31.2562429905,31.2589821189,31.2585584413,31.275135,31.2702588462,31.2683958493,31.27432,31.2626159191,31.2548296918,31.2763756514,31.2666714191,31.2648591768,31.2700858712,31.2573426962,31.2741462798,31.2714738631,31.2560257316,31.2809913098,31.2744505755,31.2786381373,31.2623181939,31.2711399794,31.2871526763,31.2810223918,31.2836573822,31.2723174691,31.2746107578,31.2576117174,31.2776067853,31.2669190673,31.2751150131,31.27939172,31.2690612674,31.2637483879,31.264783144,31.2612828612,31.2790113614,31.2739777565,31.2649269411,31.2839689851,31.2791145845,31.274627673,31.2778224005,31.2665775418,31.2687850523,31.1959254742,31.2031459808,31.1919987202,31.2031298876,31.1975643039,31.1998790503,31.1908775568,31.1931788921,31.2038058043,31.2036368251,31.1982321739,31.1954641342,31.2009073295,31.1950704368,31.1983421445,31.2027651072,31.1933612823,31.1953681066,31.1997261643,31.1990207434,31.197116375,31.2011611462,31.1923420429,31.1975455284,31.2002465129,31.1994498968,31.1911591887,31.2031030655,31.2018048763,31.1885307839,31.1955982107,31.1838179827,31.1966864386,31.1981785297,31.1977118254,31.1889946461,31.1924520135,31.1854809523,31.1864089966,31.2033390999,31.2008392811,31.1903572083,31.1875247955,31.1924922466,31.1930622275,31.1900452326,31.1954254991,31.1922958858,31.194056565,31.2036556688,31.19553306,31.19029304,31.1946764655,31.1924052191,31.209017595,31.1945894057,31.198554039,31.2106410266,31.1902789013,31.2010605601,31.2116465956,31.202669878,31.2073602948,31.202494204,31.2155863175,31.2069987206,31.1923527718,31.2019533759,31.19416131,31.2130647898,31.2061703495,31.21091861,31.2035981991,31.2062479965,31.2090532302,31.20420626,31.2113592954,31.2081241608,31.2006555961,31.206825577,31.2093027552,31.2064096002,31.2298178673,31.2106798965,31.1964856704,31.1949237343,31.2274494767,31.2040632963,31.210204229,31.226209,31.2122825108,31.1976995646,31.1947238361,31.2071362856,31.20706853,31.2293350697,31.1974865198,31.2268969417,31.22926659,31.1982486583,31.21517459,31.2148059054,31.198763815,31.2292009592,31.1967151375,31.23232351,31.217404604,31.227719453,31.1985044413,31.2281471066,31.2176406384,31.233823942,31.23867832,31.2364697456,31.2388139963,31.1915897047411,31.1305051989,31.1304603237,31.1617781689,31.163938,31.1639485065,31.1738420253,31.17562753,31.1928087473,31.1648402779,31.1961829662,31.16733809,31.1935264755,31.1855377895,31.1861036454,31.1945320666,31.1983689666,31.1964124755,31.1559069162,31.18955731,31.1775577068,31.1769273483,31.19428128,31.1918780208,31.2013676763,31.1991146207,31.1868931353,31.092359971,31.1162269808,31.1244636395,31.1986130476,31.1948472261,31.18918939,31.1951449513,31.16277931,31.1977346241,31.1445247065,31.17796158,31.19768461,31.18596685,31.1909687519,31.17448639,31.19696203,31.1757284403,31.1625958229,31.18380923,31.2011571229,31.18519318,31.1851429939,31.1938333511,31.18769257,31.20106209,31.1817542789,31.193498075,31.1742871997,31.1851496994,31.1733642483,31.19239121,31.2017208351,31.13017032,31.1211588979,31.10950186,31.19414806,31.18986208,31.20109371,31.1787298322,31.19819319,31.1081260443,31.142747387,31.19047619,31.142507,31.19547367,31.1946299672,31.1926404879,31.1908592487,31.1828295,31.19763223,31.1511714756,31.1802130938,31.1940559745,31.198489666,31.11153306,31.1935765296,31.1800213158,31.112812,31.1817982793,31.1777406348,31.17774578,31.1933451891,31.1219072342,31.16168201,31.1130135264,31.1682089439,31.0968769275,31.16791584,31.1402910921,31.1839842796,31.18155302,31.1833029985,31.158425,31.1583531554,31.1130918688,31.14850543,31.1484235902,31.12301245,31.1270910502,31.157204,31.1690497373,31.1689421,31.15689742,31.1830921333,31.1827955241,31.15833341,31.1857545376,31.201769709,31.15788591,31.1578383438,31.1802788028,31.180218,31.20260882,31.1402195312,31.1494616837,31.1974436045,31.1966231561,31.1431561847,31.1884654839,31.1264499482,31.1264910378,31.1639017255,31.1637942131,31.20468105,31.2405836405,31.2330365181,31.2331867218,31.2370303273,31.2160044909,31.2512715161,31.263431708,31.217463414,31.2280958891,31.2280958891,31.222866393,31.2304620047328,31.2848353386,31.27332915,31.263219704,31.2754583359,31.27493816,31.2748990467,31.2751150131,31.2755361199,31.2651193143,31.2687259912,31.2720497214,31.2833678221,31.2741013919,31.2781137228,31.2801331,31.2792885303,31.2962588668,31.274535656,31.2848366519,31.2977206707,31.2930113908,31.2775987387,31.2799036502,31.2930858135,31.2930858135,31.2806564569,31.28857235,31.2941832594,31.2657622976,31.2748208,31.284784814,31.266990602,31.2820672989,31.2915493472,31.2656152687,31.28848155,31.2776285543,31.2841862442,31.2858760357,31.29682578,31.280785203,31.28072083,31.29696939,31.2947344781,31.2907415628,31.2772098184,31.2660169601,31.2832642347,31.2791383266,31.2949982285,31.2602460458,31.26882036,31.2725002737,31.261446476,31.2651720645,31.268350482,31.2677684426,31.25778013,31.2831526994,31.2537069619,31.26600555,31.26599004,31.2723469734,31.2621280936,31.25805341,31.2577464,31.26533257,31.33430857,31.335362792,31.29142697,31.3431751727,31.29426471,31.327380538,31.3285519942,31.293823421,31.3253474236,31.3258074224,31.2947702408,31.3204818964,31.3228970447,31.3317225899,31.31301944,31.31494748,31.3206486398,31.3170915842,31.3064539433,31.33441,31.32555439,31.33357422,31.312494278,31.3160830736,31.3179284334,31.3476634026,31.3314092159,31.3535259534,31.3484568,31.3572603464,31.3326323032,31.3267797231,31.351056397,31.3274690509,31.3527113199,31.3238141201,31.3459146023,31.3727974897,31.3582476418,31.3333806396,31.3772428036,31.3910186291,31.354765892,31.3604038954,31.380289793,31.3285499811,31.3430285454,31.3765776157,31.3785458208,31.375990212,31.3322085142,31.3473263382,31.3766044378,31.370035708,31.3364249468,31.3718870587,31.3397482038,31.3585799932,31.3500586152,31.3541328907,31.3425189257,31.33245730249,31.331220229628,31.3352916516685,31.3584863686756,31.3556364039554,31.3768071981,31.3651786662,31.3619276342,31.3744410405,31.3595230486,31.3613701008,31.3720990894,31.3612699063,31.3628301135,31.3663667496,31.3689363522,31.3675224781,31.366603286,31.3700827411,31.3781074567,31.3587348881,31.3494412023,31.3479520898,31.3558620465,31.3419319568,31.3441658035,31.3534692442,31.3379728829,31.3492006687,31.3411976526,31.3509785859,31.3379442181,31.3453090811,31.3432311606,31.3453352451,31.3380863485,31.3527115285,31.3539232768,31.3648939133,31.3448643785,31.347863198,31.3614821437,31.3526016508,31.3404804468,31.3451743126,31.3343267657,31.3479230738,31.3527684009,31.3458099961,31.3543581991,31.3622673625,31.3463081376,31.343613492,31.3499941144,31.3488205716,31.3393297652,31.3393807411,31.3420434442,31.338841406,31.3353028421,31.3560292125,31.3549187779,31.2952288985,31.2903122486,31.2930428982,31.2956982851,31.2920894558,31.2954112887,31.2990586048,31.3002634048,31.3007730246,31.3310512398,31.3086479902,31.3112658262,31.2955909967,31.3149859304,31.293514967,31.3086603709,31.2975114584,31.3003331423,31.3298803568,31.3031816483,31.3288664818,31.2915971875,31.31421704,31.323453784,31.2976748451,31.3316935301,31.2955695391,31.3295182586,31.286429,31.2966609147,31.2979647517,31.2870366751,31.2932789326,31.3046702743,31.3049590831,31.293104589,31.2985789776,31.2982866168,31.2865653634,31.283598,31.28439739,31.2893870473,31.2435346842,31.2536260179,31.2492031473,31.2488240004,31.2475377551,31.2407637593,31.2409865856,31.2390580773,31.2351554632,31.2815952301,31.2736438215,31.2650325894,31.2663146853,31.2712901831,31.2652015686,31.2682056427,31.2730658054,31.2678408623,31.2406721907,31.2653464079,31.2424483895,31.2427031994,31.2410557069,31.2411314249,31.2416879833,31.244687,30.9007872641,31.144691,31.2112182051,31.214135,31.203187,31.1886304215,31.1886304215,31.156118,31.2006488442,31.2043368816,31.2027756548,31.2059861,31.2079203129,31.2023252249,31.159775134,31.1801196522,31.1811243981,31.2064686663,31.1828657985,31.2091385238,31.2024679317,31.2183701992,31.2216103077,31.2029314041,31.2068852975,31.2018525789,31.216283394,31.2105281236,31.2206929922,31.2086798481,31.2027379741,31.2110155821,31.1790018906,31.1915056113,31.1790528097,31.1996748485,31.2053588033,31.1917478119,31.2017311803,31.1831051767,31.1699626786,31.1979467595,31.1819220162,31.2017290163,31.1763292551,31.1845441767,31.1873745918,31.1831372613,31.2006434798,31.1835926771,31.1848688887,31.2024113881,31.1920675261,31.1826704812,31.2028509378,31.2060159445,31.1890388974,31.1846226454,31.168653945,31.179735009,31.1794463642,31.1765089631,31.1639052629,31.1881981531,31.1888082545,31.2221808869,31.21450706,31.2002974749,31.2139081618,31.20587342,31.2121742964,31.2211623788,31.23065469,31.2027597427,31.21610797,31.21666533,31.2040686607,31.2099426985,31.2110826373,31.2302996138,31.2392478569,31.21357901,31.2093461508,31.2435346,31.22466984,31.25564911,31.2456429005,31.243336,31.2376769779,31.2433683872,31.2381488085,31.2465468049,31.2413848202,31.2189120054,31.2160076495351,31.1696854234,31.1758410931,31.1816331226,31.1799529195,31.1764875054,31.1812672019,31.1849579215,31.1824567616,31.1880263686,31.1715656519,31.1856159815,31.1789765954,31.1853387952,31.1839221032,31.1875408888,31.1832198501,31.1787419021,31.1738803983,31.173062707,31.1742022634,31.18726899,31.184347719,31.1834317446,31.1923205853,31.1790972948,31.172477603,31.1709795892,31.1764258146,31.1705383658,31.1878681183,31.1696840823,31.1813610792,31.1746408045,31.1856123805,31.1728075147,31.1827866733,31.1736229062,31.1762903631,31.1869218349,31.1731790006,31.1836235225,31.172653472,31.1873840041,31.191110909,31.1809095526,31.1809095526,31.1775253404,31.1893728375,31.18698103,31.1809211969,31.1732326448,31.1718285084,31.1842634,31.1828304769,31.1846482217,31.1823417033,31.1772300685,31.1885212362,31.1859503388,31.1728658064,31.1813423038,31.1557164788,31.1917506158,31.1777454615,31.1593186855,31.1715763807,31.1765626073,31.1603709011,31.1579401461,31.1602948004,31.1581790352,31.1605719521,31.1633192123,31.1625939214,31.1919462476456,31.1532649398,31.1544978157,31.1551451683,31.1622758481,31.1505782284,31.1550486088,31.15682578,31.16441633,31.16441633,31.1599785089,31.1575913429,31.1826629915,31.16611879,31.1608341336,31.16205395,31.1658284068,31.16457629,31.1555340886,31.1655145884,31.1269283295,31.1527458,31.1401838064,31.1388969,31.1388478627,31.1413369588,31.16014969,31.15967195,31.12806234,31.1529296637,31.12230787,31.16666781,31.1678051949,31.1229506135,31.1376345958,31.16428486,31.1405351758,31.138439,31.12674496,31.13668787,31.1372816563,31.16035943,31.122789681,31.1665391922,31.1641386151,31.1279368401,31.15670684,31.1520445347,31.12976919,31.1595761776,31.16310667,31.12573326,31.1646617991,31.124881804,31.1552631855,31.12464365,31.13111508,31.1292970084,31.1384618282,31.1625748873,31.15860638,31.155135416,31.1224835424,31.1246194139,31.1606089,31.1614684073,31.165471673,31.16337308,31.13825584,31.14995725,31.1704713106,31.1641864467,31.15382223,31.1709311089,31.169398427,31.1611640453,31.1648064852,31.157720089,31.1676813867,31.16400128,31.1449651265,31.1460385957,31.1464816332,31.032479179,31.040389971,31.0505290529,31.0715555568,31.04205189,31.070584046,31.02743353,31.02636077,31.0681740432,31.063284874,31.04939556,31.03847007,31.056672318,31.03787247,31.039347577,31.06479183,31.062592864,31.0591269956,31.0700114191,31.0593425457,31.0558420847,31.0545292241,31.0296205288,31.071395874,31.0737385204,31.0659388346,31.046789,31.07386517,31.05946559,31.0697537877,31.04435287,31.0469873857,31.049970864,31.0304392457,31.054333487,31.04526276,31.0526681372,31.0740579644,31.0772650011,31.0441799223,31.0566647331,31.04806107,31.0555406347,31.0607544699,31.0487968647,31.0480897574,31.0359526408,31.0369775404,31.0361055708,31.0371786988,31.0701406002,31.0323196774,31.0431411746,31.0562729651,31.0506033897,31.0453413589,31.0369077837,31.057968313,31.05985915,31.0492998362,31.05713803,31.0450462786,31.0653416739,31.0531689306,31.028147161,31.0376751423,31.0272029358,31.0590071976,31.0677691032,31.0588480667,31.067439357,31.0555882,31.0014136455,31.05804006,31.0422004844,30.99536963,31.0855884766,31.0763317031,31.0221179337,31.0368085736,31.0330185116,31.060706788,31.0402418548,31.0240597754,31.02432989,31.029728519,31.0216019396,31.068971024,31.0041704147,31.0268007722,31.0227582511,31.0270791849,31.0753625925,31.0752918602,31.0684409202,31.0279709101,31.0265542848,31.03570992,31.0502301323,31.020395945,31.0728170469,31.0702313293,30.9959154199,31.0396925888,31.0199541726,30.9801439091,31.0105244401,30.9706260128,30.9714992573,30.9741861789,30.9903596176,30.9749749188,30.9698451831,30.9748696,30.963986814,30.97304663,30.978287154,30.9735564659,30.9624352945,30.9625870392,30.9788726566,31.017512,30.9953347661,30.9770353313,30.98184844,30.9743656475,30.9910150906,30.9990389324,30.9493433768,30.9850509621,30.9587748894,30.9874449542,31.3038283235,31.2929977681,31.2965035018,31.3013260825,31.2911912799,31.3142742382,31.3152383495,31.3117442358,31.2873520436,31.3228985667,31.3073557195,31.2992983466,31.295704195,31.3075809968,31.2995180058,31.2878331896,31.2950885557,31.3123655319,31.3009701515,31.3001014396,31.2992608282,31.2913805198,31.3103629169,31.2876643548,31.3239637655,31.307746768,31.315535903,31.3123392115,31.2885850668,31.2993246317,31.2874272465,31.3019961119,31.2977426739,31.2868378962,31.2854796114,31.2931662798,31.2917930354,31.3050876766,31.3106543767,31.2952862427,31.3156324625,31.3117861747741,31.3027417659759,31.2977528572082,31.3004586452845,31.3015240430832,31.30915514,31.3067972660064,31.3124902546405,31.2931931018829,31.3111773133278,31.3183696568012,31.3016313314438,31.305271089077,31.1160961839,31.1179550457,31.1163510398,31.1071277841,31.1162385531,31.1130180622,31.1157779515,31.103616853,31.1102342606,31.1189528984,31.12489817,31.12035082,31.1033656466,31.110747099,31.1166254948,31.1199031936,31.1195438102,31.1241356947,31.0915710678,31.1138711005,31.1162929341,31.0988359579,31.095579808,31.091719033,31.1207647058,31.1280598718,31.0970745226,31.11130447,31.0912015417,31.1013163073,31.1078676883,31.0937780347,31.0928067948,31.11665301,31.10248683,31.1144261667,31.0952771901,31.0914932822,31.1033780869,31.0935895442,31.1177385929,31.0981263054,31.0904546511,31.0956951393,31.0951276305,31.1017043846,31.1004938263,31.09594725,31.1066113519,31.1076728632,31.1078953743,31.1078742502,31.1064759291,31.093296516,31.0926282406,31.1060714722,31.115442653,31.1022520065,31.1019773895,31.1002318518,31.098325485,31.098325485,31.1148983571,31.1116500427,31.100749512,31.0961964946,31.1156192151,31.0920569099796,31.0551866119,31.0316890016,31.081366087,31.0267658667,31.01393636,31.0446440095,31.0489377379,31.079148786,31.0884858,31.0553348064,31.0317581892,31.0839673877,31.0292508114,31.07680569,31.0501796007,31.0836416212,31.0345315933,31.0881760175,31.07298618,31.0694833241,31.015334982,31.0812500662,31.0472864599,31.0464774207,31.081531942,31.05300195,31.0775848795,31.0313036098,31.0304914894,31.0732170939,31.0842812061,31.0839912835,31.0371606458,31.0715568066,31.0286413782,31.0569597432,31.0767690702,31.0713770986,31.0717713833,31.0241502253,31.075176082,31.0834762996,31.0814273357,31.07743317,31.0769829154,31.07961749,31.0126455107,31.0343250632,31.0286192439,31.0708377938,31.021972471,31.13135195,31.1318421364,31.1326119304,31.1212140051,31.1522652072,31.1214716437,31.1344009638,31.1231603136,31.1166464467,31.1213976145,31.1181911557,31.1489734054,31.1501857638,31.1240266672,31.1271858215,31.1512291431,31.125662083,31.1445848237,31.136726439,31.1572889848,31.1239603431,31.1362014575,31.1294737458,31.1340942166,31.1370563507,31.1522752047,31.1374479532,31.1377300728,31.1329028282,31.1388895187,31.1304744536,31.1300209165,31.126273383,31.123265895,31.1288287964,31.1409294605,31.1271643639,31.153935492,31.1421096325,31.1249957979,31.1384242773,31.1408675258,31.1380616915,31.13836941,31.1395347118,31.1324214935,31.1317563057,31.1398243904,31.1401945352,31.139947772,31.1332578554,31.1439013481,31.1436524391,31.1468839645,31.1603567004,31.1251205206,31.0252565145,31.0391771793,31.0412773687,31.0602344906,31.0768553655,31.0401454568,31.0363286734,31.052487,31.0207338017,31.0207074881,31.0177398919,31.0177398919,31.0244464874,31.0283517838,31.0710337758,31.06330162,31.0499382019,31.069442219,31.0750393858,31.0720288301,31.08474681,31.0022634799,31.01610349,31.0017389059,31.0564255717,31.0456466675,31.0719913244,31.0491399748,31.0489252792,31.0732197758,31.0201817751,31.0769973703,31.0769973703,31.0769973703,31.07206621,31.2812921405,31.17324688,31.1751090404,31.1752809991,31.17587337,31.1799529195,31.17163248,31.170183901,31.1738669872,31.10041518,31.1720350385,31.1721798778,31.15124826,31.174896224,31.1482465267,31.1463260651,31.1817851122,31.1214619875,31.1435472965,31.149802208,31.1998963759,31.180350618,31.1800746918,31.08887382,31.1838974735,31.138020495,31.1448653489,31.14431221,31.141897738,31.1472755671,31.159144098,31.174335532,31.1731293797,31.17454735,31.1283846,31.1540488763,31.17876902,31.1870677472,31.122870778,31.1175293325,31.102095901,31.11717671,31.1478441954,31.123226881,31.1525117424,31.117344673,31.12678349,31.1437028646,31.1457520723,31.1497431993,31.1520673349,31.1081395606,31.1541378769,31.1365874518,31.1647370534,31.1294560435,31.1180274754,31.1434083093,31.1242718696,31.1025577783,31.0997618437,31.0895066755,31.0896643996,31.123567,31.1110920798,31.087246544,31.1997265123,31.152484417,31.1808063496,31.1021615858,31.1158838342,31.1557084322,31.1159356614,31.1192186825,31.1734775304,31.1380833928,31.1109094456,31.12870956,31.1080874203,31.1405747157,31.1405747157,31.082864,31.0911970942,31.11453047,31.1522094767,31.13009205,31.1165274663,31.1057188837,31.107574582,31.086679101,31.0748068449,31.0765639543,31.097033,31.0953008339,31.0964021087,31.0905170815,31.0980216827,31.0785144567,31.2022451467628,31.14812465,30.9205695452,30.9205695452,30.8976742836,30.9423623773,30.9088620543,30.8757029048,30.8699741549,30.916369878,30.90810655,30.9070669761,30.934946284,30.9165825248,30.9135881066,30.90113283,30.9133921166,30.9127780795,30.9127861261,30.90380669,30.9078615904,30.86836797,30.9109783173,30.87567132,30.8947777748,30.9104526043,30.9084033966,30.9011625052,30.8998927474,30.9069174528,30.89200241,30.89147989,30.9012231231,30.9114933014,30.8927124739,30.8767704964,30.9098255038,30.9035625457,30.89933101,30.9336440562,30.9047073126,30.9042449002,30.89003899,30.913091898,30.9082181339,30.898449182,31.1912096592,30.9940946102,30.969994487,30.9609413145,30.9595134259,30.9593256712,30.9857368469,30.9358015718,30.9419639667,30.9883339353,30.9819039702,30.934096802,30.9295874834,30.9870944056,30.9779155254,30.977834296,30.952603519,30.9850800788,30.927359166,30.978088366,30.978088366,30.9788864851,30.974334492,30.9878545905,30.9425113016,30.91189236,30.9713624273,30.9786558151,30.97822486,30.9578901529,30.9626946225,30.9591776588,30.9815771645,30.963126375,30.9585016966,30.989069667,30.963088274,30.9548463935,30.9727070599,30.9712743759,30.9707379341,30.9456448545,30.9761200915,30.9619205674,31.0648834705,31.0240387917,31.05555391,31.0420587659,31.0329276323,31.0410171746,31.01942144,31.01894103,31.0085570812,30.85965693,30.8645063639,30.8633422852,30.8933025599,30.8773836493,30.870183028,30.885944,30.8796018362,30.8807976059,30.8714714202,30.9189713001,30.8728319407,30.9168027341,30.8970201015,30.9353556782,30.878636241,31.2605687292,31.2833195958,31.2741521001,31.273448669,31.2757211924,31.2731847166,31.2717949748,31.2463080883,31.2571495771,31.2405627966,31.2509965897,31.237807095,31.2374154925,31.2380388379,31.2404649172,31.2478439211,31.2728753686,31.2325108051,31.2441033125,31.232083261,31.2728458643,31.2486433983,31.2608993053,31.2700778246,31.2462989784,31.2523605287,31.2722396851,31.2561920285,31.2572864628,31.235391497612,31.2555820213,31.2705713511,31.2703433633,31.260022223,31.2690639496,31.2590056658,31.2689834833,31.2567472457885,31.266824604,31.2556494286,31.2616140852,31.2639508502,31.2649863811106,31.2852081656456,31.2459666433836,31.2642386555671,31.2777757644653,31.2727178948225,31.248800396952,31.2512809038162,31.2726151943206,31.2685503536703,31.2610682845,31.2357173860073,31.2563516199588,31.2420489412424,31.2595398566544,31.2650694007078,31.2454658746719,31.2646570801735,31.2597781419754,31.2623932957649,31.26538798213,31.6361135244,31.619387269,31.629871053,31.64011038,31.6291639209,31.6199568989,31.62809124,31.650211215,31.6234374618,31.6415498557,31.627342701,31.631486,31.6189350356,31.609017925,31.6334715485572,31.6335654258728,31.6278900454802,31.6235570499304,31.6144961427798,31.5544732761,31.5325137194,31.5292435884,31.539631784,31.5317840327,31.5728804469,31.5419706702,31.551861316,31.559060365,31.5282900631,31.5205881,31.5500709414,31.5368570387,31.5575633512,31.521974802,31.5410077572,31.712324554,31.7248249054,31.6872981191,31.6955621023,31.714363484,31.719624962,31.7390892185,31.6726356858,31.6811970812,31.74187266,31.76432321,31.6886016726,31.7185780406,31.7507591844,31.7166366739015,31.5020084381,31.5220069885,31.5244987607,31.52171462,31.5462186786,31.5377291576,31.5652817488,31.5885578989033,31.6022372246,31.58729882,31.6159948246,31.5804000199,31.5810799599,31.6192481152,31.5706032515,31.6270744801,31.6073709726,31.6298854351,31.7657420039,31.7703580856,31.7791579683,31.7071361519,31.7879667878,31.76542606,31.7813014984,31.7445698564321,31.6672992321075,31.5146845579,31.5278141065,31.5251344442,31.530611515,31.5644475818,31.55262185,31.5692782402,31.5873938799,31.0500218038,31.0440432669,31.0242667794,31.0241867522,31.0329389878,31.0437337862,31.0220498838,31.02398565,31.0058864518,31.4249405265,31.4345009888,31.4065758867,31.41423802,31.409969317,31.4560744584,31.4159095287,31.3823165222,31.3789889216,31.4276200533,31.402375102,31.3899725676,31.4136976853,31.3673836531,31.023743666,31.0267239194,31.0237877524,31.0256976989,31.0225851433,31.022773867,31.0278641797,31.0255568901,31.0231149383,31.0314133473,31.0215109208,31.0262494123,31.024441,31.0230193086,31.0313864473,31.0190384388,31.0227338424,31.0194402797,31.028364548,31.0287451952,31.0201058954,31.0267894475,31.0289483837,31.0208107499,31.0302925616,31.0217202529,31.033088779,31.0210537227,31.0379529919,31.020635741,31.0363510323,31.0206724942,31.0349825335,31.034651,31.025645489,31.0348048824,31.0377479373,31.0108335464,31.0314260198,31.0334659927,31.0261022892,31.034044071,31.0297852484,31.0414354667,31.0413548164,31.0281322429,31.0196638514,31.021081775,31.0420909045,31.0302248344,31.0342982411,31.0354519894,31.0262194913,31.0260243851,31.0269601947,31.0447564864,31.0428200926,31.0296615865,31.0346859878,31.0510010498,31.30731225,31.4587470889,31.319050914,31.18843638,31.1852288246,31.1841452122,31.1845067739,31.23999361,30.8329850435,30.8275261526,30.8319175243,31.3664201082,31.359176,31.1877835348,31.3378400719,31.3265383244,31.2537539005,31.3341021538,31.3203294834,31.24775565,31.25545281,31.2589466572,30.946726799,31.2460961938,31.2824763095,31.21391279,31.25949184,31.3025969267,31.2750130892,30.9429631664,31.2652015686,31.2865219121,30.95752131,30.9444693661736,30.9442719737,30.979248,30.93591686,30.96091962,30.94753234,31.2069761753,31.136088,31.3715759750098,30.8406234099,30.8323614061,30.8210752476,30.8367670505,30.8285456724,30.9768367199,30.9491716386,30.9859287023,30.9643966568,30.9832669668,30.9795271748,31.3082671165,31.2886934281,31.3034310937,31.2973049283,31.2913396955,31.2821123598,31.2896616425,31.324231365,31.3018127313,31.3247492909,31.2704967857,31.3261960292,31.2844598293,31.314182556,31.3256576318,31.2782987952,31.2652465066,31.2885212303,31.2761235237,31.2779356239,31.313097775,31.2664809823,31.273472835,31.3189187634,31.2897908222,31.2782185039,31.26733113,31.2888157368,31.2717676163,31.2837356329,31.3140233023,31.28898849,31.30237629,31.2786367536,31.2723523378,31.3095331192,31.2677195445982,31.2901645799267,31.2805495490962,31.3176992373352,31.281726938426,31.2840892371887,31.36594939,31.3469637274,31.3632596359,31.3932474501,31.3396171869,31.366546154,31.3721471192,31.3538324833,31.3672756939,31.3880869746,31.3457965851,31.3718099749,31.3621207855,31.36700484,31.356143672,31.3628607988,31.3668814302,31.3731712103,31.348296403885,31.38012834,31.3639229536057,31.3574588298797,31.3496509194374,31.3468718749049],[121.23146326,121.231564179,121.23344871,121.236183778,121.237268762,121.239742041,121.240220547,121.240849793,121.240869105,121.24171536,121.24213296,121.24374287,121.244751879,121.244888783,121.246655484,121.247245936,121.247254908,121.249580437,121.249704301,121.250281205,121.24636977911,121.224791177,121.232154631,121.233475522,121.23354556,121.239591837,121.244267464,121.246081523,121.263503285,121.27905856,121.279621662,121.279867887,121.280731559,121.288225651,121.29736388,121.297819912,121.28870272,121.203570843,121.213374384,121.214057207,121.215288785,121.216347814,121.222895119,121.223860561,121.225211494,121.229858426,121.231904626,121.233751361,121.23464744,121.236346364,121.237918139,121.245838525,121.24788833,121.258485317,121.260990272,121.264772415,121.243315173191,121.47976879,121.479928493,121.4843271,121.484349293,121.484802067,121.486762762,121.487304568,121.488189697,121.488913894,121.49088459,121.491263509,121.492399447,121.492821872,121.49341464,121.494052013,121.494428515,121.49464041,121.494844258,121.495555043,121.496477723,121.497040987,121.49867177,121.499988735,121.502480507,121.435967088,121.437957473,121.438405216,121.438536644,121.439624207,121.440017223,121.440226436,121.44029673,121.440555211,121.44140661,121.442399025,121.44293949,121.443477273,121.443906426,121.444254866,121.44555867,121.445800066,121.445806256,121.446179107,121.446325779,121.448818624,121.450145245,121.450223029,121.450975827,121.451154197,121.451336145,121.451427341,121.451641917,121.451776028,121.454601055,121.455039926,121.455745697,121.444178402653,121.444233119619,121.449984312712,121.453358318776,121.466721154,121.470664144,121.471532516,121.471799313,121.47344931,121.476296782,121.477061489,121.477181911,121.477219462,121.480244994,121.480990648,121.480998695,121.481293738,121.482621562,121.482878923,121.483597755,121.483957171,121.48398668,121.485075653,121.485153437,121.485807896,121.487253606,121.487389699,121.488447189,121.488903165,121.489938498,121.490684152,121.49127096,121.491651691,121.49215132,121.49526805,121.496051252,121.496242923,121.499194801,121.318953037,121.331090033,121.331186593,121.3359267,121.336478591,121.337401271,121.340662837,121.343457699,121.346088946,121.346223056,121.347008944,121.35186157,121.352630854,121.354036292,121.354639828,121.357995272,121.358044109,121.359729403,121.36382103,121.365272105,121.370556056,121.38335824,121.34246850017,121.34531223,121.364623219,121.366823885,121.366996236,121.368047308,121.368820667,121.368952096,121.370298564,121.37136924,121.371448155,121.374281645,121.374930739,121.376245022,121.376682222,121.37727366,121.37727366,121.377532482,121.380136907,121.380187869,121.38151288,121.382381916,121.382419467,121.382596493,121.38485266,121.386158466,121.386791468,121.388049424,121.38871007,121.390514374,121.392810345,121.392839849,121.393657686,121.393861771,121.394868004,121.394934654,121.396790743,121.397485435,121.398528814,121.400159597,121.400610209,121.400765777,121.401830249,121.402155161,121.402294636,121.403011859,121.403590143,121.403721571,121.403920054,121.404661546,121.404833494,121.405064464,121.405609846,121.405856609,121.406204101,121.406508386,121.407122612,121.407364011,121.408141851,121.408798041,121.408911645,121.410652399,121.41070604,121.410845518,121.410984993,121.411030591,121.411604583,121.411709189,121.412213445,121.412334144,121.412387788,121.412613575,121.41290828,121.413145065,121.413954198,121.413959563,121.414048076,121.414343119,121.414529801,121.416220665,121.417186804,121.41721576,121.418025792,121.418589056,121.419433951,121.419570744,121.419671774,121.419981122,121.420278847,121.421533492,121.369119114111,121.37290938,121.373058077737,121.387145519,121.391923264,121.408356334,121.41156435,121.414256739,121.416049004,121.42011226,121.422828019,121.424578428,121.425694227,121.425839546,121.427434087,121.429254258,121.429516375,121.430141548,121.431990266,121.43242573,121.432442665,121.432912052,121.43375963,121.434478734,121.436312142,121.437394023,121.43786341,121.438640356,121.440118247,121.440316332,121.440483558,121.440580487,121.44331634,121.445052624,121.445250213,121.447741441,121.447932449,121.45183504,121.452479999,121.45375013,121.459591213,121.459951401,121.461335855,121.463942528,121.464377046,121.465358936,121.470382512,121.406092643738,121.411929130554,121.421992778778,121.423360705376,121.425377726555,121.426692008972,121.427346467972,121.427904367447,121.430093050003,121.435666680336,121.44445252412,121.446953415871,121.450788974762,121.46296620369,121.425050497,121.377232763,121.381228972,121.38165236,121.38479054,121.38535972,121.387724876,121.3885938,121.391426325,121.394312382,121.39666071,121.396973133,121.40312942,121.403587461,121.404139996,121.40856564,121.410019398,121.420356631,121.423848437,121.427122935,121.428305652,121.382274627685,121.386821508931,121.39184468,121.306271553,121.319183707,121.319961548,121.320310235,121.323561072,121.325760484,121.327584386,121.328517795,121.329145432,121.331813175,121.332142563,121.335459352,121.338586807,121.341704476,121.343704462,121.350064964,121.259644678,121.264723567,121.26632604,121.266440749,121.26842632,121.271793366,121.274847558,121.264449208975,121.264612778703,121.334987283,121.339611411,121.344101429,121.345453262,121.346269701,121.346442997,121.351863742,121.352228522,121.352394819,121.356085301,121.357684135,121.359990835,121.360717714,121.361407042,121.362450421,121.364555955,121.364753215,121.36676034,121.366916299,121.368681192,121.369165477,121.369373202,121.371910837,121.372742057,121.37349844,121.37686193,121.378111839,121.378219128,121.380010843,121.382111013,121.38492465,121.385853997,121.386523247,121.386835724,121.386973858,121.387676597,121.393590868,121.394738244,121.394903463,121.395090222,121.398035288,121.402219489,121.4040488,121.405026466,121.405939364,121.406349166,121.406843662,121.406965884,121.407203078,121.40910631,121.409879923,121.418680251,121.421287358,121.42478228,121.368168354084,121.382156610489,121.442659199,121.447798312,121.45883776,121.463803053,121.46753784,121.468732953,121.469730735,121.473872066,121.475835443,121.480244994,121.480271816,121.481492221,121.483844519,121.484584808,121.485394835,121.485663641,121.486309469,121.486950517,121.487468183,121.488938034,121.49075001,121.491805315,121.473391950131,121.414359212,121.415324807,121.41969178,121.419965029,121.421532252,121.423223913,121.42354846,121.424632072,121.424754255,121.425728635,121.426995004,121.427491307,121.431157887,121.431693951,121.432020911,121.432439983,121.433549573,121.435060501,121.435161197,121.436283588,121.438327432,121.440298855,121.462064981,121.462761225,121.463129998,121.466633994,121.470822394,121.471302509,121.473475099,121.476521412,121.47659719,121.47675544,121.479359865,121.480464935,121.48150932,121.485255449,121.487350166,121.487705555,121.487865743,121.488012388,121.4903497,121.490493715,121.490765453,121.492778957,121.495568454,121.500833631,121.508257386,121.509277225,121.510330796,121.511992156,121.512147245,121.51218205,121.51252538,121.512751758,121.513590217,121.514370329,121.514378786,121.51512176,121.515698433,121.515724182,121.51619786,121.516374886,121.516924739,121.517871022,121.518257577,121.51854679,121.518874168,121.518914402,121.520185769,121.520213421,121.520263553,121.52037984,121.520472765,121.520904601,121.520934105,121.522194743,121.522194743,121.522661448,121.523083091,121.523422122,121.524004161,121.524677396,121.52489841,121.525823772,121.527464997,121.527464997,121.528225422,121.52842766,121.528545086,121.529908776,121.530469358,121.532862179,121.493739188,121.503376365,121.504634857,121.505388021,121.505702313,121.506816463,121.507515578,121.507533401,121.508168936,121.508338451,121.508984054,121.50899386,121.510458538,121.511087716,121.512066722,121.512764096,121.512871385,121.512935758,121.513026953,121.513038854,121.513346136,121.513627768,121.51381284,121.514778435,121.51537737,121.515553594,121.516355816,121.517350778,121.517823815,121.518638134,121.518897772,121.518899284,121.519027054,121.519300779,121.520161629,121.520204307,121.521000183,121.521835327,121.522438824,121.524056196,121.524648964,121.525713801,121.50812602,121.50819422,121.508624554,121.509545788,121.509661429,121.510660172,121.511060894,121.51158929,121.511806011,121.513267976,121.514534354,121.515919715,121.515919715,121.516361345,121.516601529,121.516964673,121.517248875,121.518177206,121.518410954,121.518434268,121.518820524,121.520852081,121.521301393,121.521324276,121.5220128,121.522736549,121.523015499,121.523339402,121.523731246,121.524077137,121.524489606,121.525054439,121.525362432,121.52590587,121.526783466,121.528161144,121.528627461,121.52863966,121.492754385,121.492974983,121.493336287,121.493691178,121.49380241,121.493871689,121.49405363,121.494380236,121.494983196,121.496187234,121.496300697,121.496450901,121.496705174,121.496735215,121.498114895,121.498143375,121.49905955,121.499707103,121.499947298,121.500098553,121.50090605,121.500913024,121.500994563,121.500997194,121.501079953,121.501581967,121.50346756,121.503574565,121.50378843,121.50389299,121.505037164,121.505194827,121.505200401,121.506101489,121.50692767,121.507656305,121.507769823,121.508273353,121.508606064,121.508608549,121.509206276,121.5100842,121.51125373,121.512254477,121.512267888,121.512332505,121.512746316,121.512758195,121.51381378,121.514170929,121.51440227,121.495321691,121.486514162,121.486942901,121.487146969,121.487968565,121.488070437,121.488291621,121.490249634,121.490626286,121.491187066,121.491838671,121.493120722,121.493217152,121.494368166,121.494679145,121.495168805,121.497136125,121.497180462,121.497636437,121.497692517,121.498534597,121.501642612,121.508944387,121.508976817,121.509119778,121.509183438,121.510917508,121.51405114,121.51513598,121.515169144,121.51615105,121.518383102,121.518383218,121.518944353,121.51906027,121.519801273,121.520322561,121.520456672,121.5205922,121.520997843,121.521582807,121.521828313,121.521873772,121.522041857,121.523021505,121.523188381,121.52345116,121.523602162,121.523929755,121.52457407,121.525054635,121.525643048,121.526081724,121.526326116,121.528623823,121.529361606,121.529716995,121.531381998,121.532958386,121.534034014,121.536218686,121.536434764,121.536480188,121.536587477,121.537923887,121.538314819,121.538868387,121.539280899,121.539672017,121.539866246,121.54029429,121.540310078,121.540592015,121.541018486,121.541509148,121.542246938,121.542488337,121.542568803,121.542826064,121.543260813,121.543687402,121.545226604,121.545586127,121.545833339,121.545883582,121.546180969,121.546286345,121.546467223,121.546863019,121.547611356,121.547627721,121.548293661,121.54936141,121.549767852,121.550207734,121.550765171,121.551439047,121.551629305,121.55167222,121.552285552,121.553493095,121.553766646,121.554247141,121.557241326,121.558490396,121.346014449,121.346719265,121.349154711,121.350025923,121.350305378,121.35317266,121.353955865,121.355323792,121.35747804,121.357485652,121.358113289,121.358215213,121.359302346,121.36030575,121.365782685,121.365923882,121.366908252,121.370832324,121.370885968,121.371685266,121.373702288,121.373898646,121.47676105,121.477854687,121.478363361,121.479757958,121.480190753,121.48124755,121.481527468,121.48193102,121.483676198,121.48564787,121.485879421,121.486121642,121.486645261,121.487016255,121.487484167,121.487506393,121.487717029,121.488075235,121.488653101,121.48972545,121.490595371,121.491670286,121.518895626,121.568446755,121.570202031,121.57231349,121.572443247,121.573010087,121.573010087,121.573010087,121.573451757,121.573832631,121.574475055,121.574576944,121.574945493,121.575040298,121.57517587,121.575323939,121.575436592,121.575447321,121.576045454,121.576300263,121.576813843,121.576850116,121.57743752,121.577547491,121.577759385,121.578149199,121.578226089,121.578507721,121.578668654,121.578898486,121.579154134,121.579180956,121.579594016,121.579954773,121.579984724,121.580264568,121.580629349,121.580640078,121.581219435,121.581412554,121.581818908,121.582340598,121.582585573,121.582595408,121.582893133,121.583082676,121.583681703,121.583681703,121.583681703,121.583949924,121.5841645,121.553136706,121.5553566,121.55575109,121.556001306,121.55676014,121.557304859,121.55763901,121.558227539,121.55896365,121.559799314,121.56073162,121.561054587,121.561827064,121.561827064,121.562240124,121.563132227,121.56338574,121.56434196,121.564544141,121.564970613,121.56498044,121.565523148,121.565625072,121.565839648,121.566016674,121.566810608,121.56716759,121.56758254,121.56797344,121.568505764,121.569208503,121.56952787,121.56952787,121.570259929,121.570866108,121.570913145,121.570938528,121.57204628,121.573038697,121.574615836,121.574771404,121.57504499,121.575468779,121.57564044,121.576614082,121.576965451,121.577796936,121.577957869,121.578770578,121.579057574,121.5806669,121.581025471,121.581232846,121.58150914,121.582120657,121.584137678,121.586202979,121.625164747,121.58238601,121.583563685,121.584114592,121.586248354,121.586360769,121.586478286,121.586735049,121.586932276,121.58755213,121.587595626,121.587884724,121.588008106,121.588351678,121.588737667,121.588793993,121.588902678,121.58929646,121.590000987,121.590210648,121.590255661,121.590731464,121.59202069,121.592114568,121.592408847,121.592466798,121.592494474,121.592685878,121.592865586,121.592938135,121.593125761,121.593127802,121.594415903,121.594533372,121.59580797,121.596166031,121.596282721,121.596894264,121.597011017,121.597371697,121.59771605,121.598157585,121.598540537,121.598626608,121.59863197,121.599418223,121.599829333,121.501386166,121.502442956,121.502507329,121.503295898,121.503376365,121.503706276,121.503751874,121.50454849,121.504905224,121.505043358,121.505098343,121.505683064,121.506139729,121.506587487,121.506825686,121.506997347,121.507560611,121.507846943,121.507995129,121.5083009,121.50899291,121.509057283,121.509073377,121.510382295,121.511822641,121.511828005,121.512235701,121.512292027,121.513402462,121.513826536,121.514368783,121.514625549,121.515066122,121.515258551,121.515907645,121.516975164,121.517160237,121.517656446,121.517822742,121.517956853,121.518080235,121.518187523,121.51830554,121.520070434,121.520706479,121.523375979,121.523596066,121.524329085,121.524798417,121.526496234,121.52717523,121.52735815,121.528111553,121.528795439,121.529007245,121.530674227,121.531078219,121.531464032,121.531504685,121.532946039,121.533349205,121.53362073,121.534058605,121.535855234,121.536256498,121.536477801,121.536769867,121.536871361,121.53803575,121.538110971,121.539388489,121.53950723,121.540196938,121.542500782,121.542563749,121.543902864,121.544000129,121.544505358,121.545188751,121.545421511,121.546433526,121.547709217,121.550261378,121.550294433,121.550325486,121.550745359,121.550926566,121.55125916,121.552044969,121.552358969,121.552656614,121.552807412,121.553462184,121.55368857,121.553747692,121.556156874,121.557149291,121.557460427,121.558090159,121.558321148,121.559208741,121.55999011,121.56007659,121.560432315,121.561633158,121.56212585,121.562154293,121.56451328,121.565190962,121.569566095,121.571702957,121.57197193,121.57239807,121.572405696,121.572649777,121.536667943492,121.648153974,121.648242145,121.655153019,121.660178925,121.660227068,121.660955903,121.662831147,121.663783193,121.66481472,121.664945582,121.665300304,121.66702586,121.667198408,121.668862703,121.670370698,121.670620143,121.673278291,121.676517427,121.677596729,121.679699421,121.680091739,121.680737436,121.680809855,121.680941284,121.68094933,121.68110624,121.681238141,121.68175112,121.682204155,121.682963669,121.685014218,121.685069997,121.685140282,121.68580034,121.686049551,121.686672932,121.686933419,121.687005382,121.687315761,121.687933803,121.688000201,121.688061996,121.688169837,121.688575769,121.688793368,121.688879281,121.68888458,121.6889745,121.689414382,121.689744191,121.69017523,121.69070932,121.692203879,121.692566871,121.692576706,121.693229207,121.693701334,121.69395313,121.694346205,121.694701016,121.695344734,121.695597352,121.695657342,121.696148921,121.69629693,121.696700283,121.697160602,121.698039297,121.698369272,121.698422383,121.69867308,121.698815525,121.699427035,121.69980526,121.700506803,121.701075644,121.701462865,121.701696217,121.701983213,121.703442335,121.703700239,121.704698279,121.705333292,121.705390964,121.705911309,121.706477558,121.706483173,121.707854569,121.708409786,121.708534014,121.709058023,121.709142944,121.709486232,121.709918318,121.710321387,121.71077013,121.711278171,121.711298525,121.713631385,121.713933835,121.714454069,121.717259359,121.717355742,121.717796696,121.719438136,121.719935115,121.720432914,121.72050319,121.721351903,121.721999104,121.722022534,121.723550785,121.724140942,121.725774313,121.726448391,121.726596095,121.727984582,121.728022281,121.729461693,121.729717757,121.731283608,121.732002497,121.732006236,121.732782125,121.733412368,121.735501934,121.736829656,121.739448739,121.742645495,121.713176472,121.717738069,121.719503403,121.722593307,121.723255813,121.728622913,121.729392707,121.7298589,121.73135154,121.736358404,121.736358404,121.73985989,121.722001433482,121.629939079,121.631562081,121.642064106,121.644653678,121.64649216,121.646516179,121.648998857,121.649177223,121.652097702,121.652201414,121.653354755,121.656276217,121.656821966,121.657791138,121.65837838,121.659185886,121.659698188,121.660430431,121.661291638,121.662222147,121.66241121,121.662758589,121.663867235,121.664019227,121.664019227,121.664931178,121.666150249,121.666631508,121.6673413,121.66783832,121.668757117,121.668839157,121.669930816,121.670345868,121.670582531,121.670770142,121.671720382,121.672122717,121.672135592,121.672556735,121.672572792,121.672596931,121.67286439,121.67355001,121.673879027,121.67457372,121.674930453,121.675609723,121.678090096,121.678586304,121.67866645,121.679837914,121.682189727,121.683607399,121.684772372,121.685806811,121.686147451,121.6867084,121.686971784,121.688729078,121.69148236,121.691490599,121.694395244,121.69625332,121.69793518,121.697974676,121.710734873,121.610728668,121.611694694,121.61482211,121.61619544,121.616849487,121.61813736,121.619920986,121.620564759,121.620974342,121.62163496,121.623753905,121.624762416,121.62518169,121.62897707,121.629010765,121.629177051,121.629378992,121.629837155,121.629837155,121.631113351,121.638958633,121.639142342,121.656010151,121.657547057,121.660296321,121.240643263,121.242746115,121.246137829,121.247366488,121.250916123,121.250942945,121.260209441,121.260960996,121.266062558,121.27201438,121.272111729,121.272432804,121.273331728,121.277072688,121.278626025,121.278714538,121.280694008,121.281359196,121.281670332,121.282196045,121.285414696,121.290028095,121.290897131,121.291025877,121.29394412,121.296476126,121.299985739,121.300102472,121.3003546,121.30915761,121.314403334,121.320151985,121.321586967,121.321911514,121.324596405,121.329697967,121.270248591791,121.270703673472,121.279697120135,121.297321021557,121.313531398501,121.507845981,121.510591579,121.51818154,121.521818934,121.525393858,121.527595487,121.528277329,121.528697241,121.529158469,121.532504046,121.534926757,121.537268758,121.539468812,121.543303342,121.551730966,121.554804322,121.559254202,121.560180397,121.564857895,121.564981221,121.566645896,121.566758554,121.567142738,121.567170574,121.568118477,121.568644838,121.5689964,121.569549755,121.570533295,121.570954621,121.572005239,121.572114374,121.572376387,121.572539806,121.572758313,121.573384385,121.573624492,121.57447587,121.574760675,121.575790644,121.576548312,121.576682512,121.577448316,121.577813029,121.578214386,121.57856338,121.579886307,121.580935573,121.581573316,121.581887269,121.582312017,121.58322975,121.584511702,121.585579593,121.585661642,121.587723792,121.532287896,121.571292579,121.571579143,121.571759284,121.57338202,121.573765411,121.574905515,121.5759343,121.577552855,121.578226089,121.579815062,121.580430865,121.580479145,121.580731273,121.581314079,121.581702232,121.583144412,121.584234238,121.584556103,121.585178375,121.585360765,121.586460471,121.58711493,121.588257551,121.588745713,121.589299065,121.589311659,121.589641571,121.590797603,121.60411678,121.604737978,121.605488062,121.605854504,121.606193483,121.607794762,121.607939434,121.608041525,121.608213186,121.609508693,121.610042453,121.610322353,121.61126768,121.624142826,121.578668654,121.585644037,121.587595045,121.587667465,121.588865277,121.592710472,121.594963845,121.598632336,121.601440609,121.60384655,121.606180072,121.607285142,121.608038843,121.609956622,121.610611081,121.610656679,121.610932946,121.612644196,121.615466774,121.618298292,121.62543565,121.625754833,121.627178639,121.627184451,121.632082164,121.63215632,121.802946925,121.527233367,121.577535182,121.579790872,121.58270174,121.590425235,121.590425235,121.590893643,121.591588855,121.593305469,121.595912893,121.59819256,121.598498225,121.603087485,121.60454346,121.605288357,121.605651677,121.608256224,121.608999074,121.609544501,121.609639271,121.609725952,121.610868573,121.611056328,121.611533759,121.612280736,121.614650308,121.615475276,121.616364419,121.61918257,121.619366141,121.621052921,121.621514372,121.622856228,121.623664855,121.623753905,121.625939906,121.626091182,121.627189344,121.627192849,121.627416642,121.628057144,121.629379485,121.629413366,121.629456282,121.629510462,121.630698144,121.631114089,121.631301641,121.631714702,121.632009852,121.632129966,121.633353531,121.633614962,121.63444519,121.634745598,121.634996924,121.636784077,121.636908939,121.637748778,121.637866685,121.639796197,121.645664871,121.654535963,121.654679843,121.644548178,121.644953467,121.64837122,121.648501125,121.649618421,121.649814248,121.651300192,121.65174411,121.651836634,121.65269574,121.653021278,121.653172374,121.658649445,121.663238704,121.664534479,121.664977551,121.66526637,121.665702433,121.669306949,121.672133775,121.673533356,121.674162,121.675650236,121.677092595,121.677312255,121.67827785,121.682523787,121.682846212,121.685750484,121.653252840042,121.516181231,121.516434699,121.517770024,121.518927813,121.519609094,121.520142853,121.520392299,121.520625651,121.522114277,121.52664721,121.526865006,121.52828604,121.528534144,121.528814281,121.530700028,121.531432271,121.531457752,121.531689763,121.532929047,121.533645093,121.53388992,121.534268707,121.535098851,121.536769867,121.536946893,121.537815928,121.537864879,121.53983295,121.539873183,121.540141404,121.541825831,121.542469561,121.543008685,121.543081105,121.543789208,121.544163376,121.544961333,121.546140164,121.546143404,121.546440572,121.54698506,121.547578096,121.549867486,121.550108492,121.55015945,121.55015945,121.551321387,121.551353037,121.55184921,121.551998109,121.552561373,121.55282557,121.55472288,121.55517519,121.555749179,121.55587256,121.556169748,121.556332558,121.559179723,121.559402347,121.559820771,121.560700536,121.560724676,121.561003625,121.561038494,121.562293768,121.56372875,121.564061344,121.564774275,121.565567282,121.568695933,121.569663674,121.569777131,121.570950866,121.547941267491,121.471659243,121.473141256,121.473587751,121.476273179,121.476985574,121.478447914,121.484764033,121.486308144,121.486308144,121.488313079,121.488822699,121.490056515,121.490166419,121.490322053,121.49052654,121.490592957,121.491418818,121.491542459,121.49233371,121.492706537,121.494224711,121.494492888,121.49473948,121.494871226,121.495295006,121.495813832,121.496152576,121.496695883,121.497073174,121.497167691,121.497311676,121.497437954,121.497582793,121.498172879,121.498918702,121.49897486,121.499106735,121.499664422,121.499751027,121.499814391,121.500430352,121.500997245,121.501300335,121.501992345,121.502813101,121.502930591,121.503430009,121.503614069,121.503628492,121.503647406,121.503911904,121.504550581,121.50498569,121.505409479,121.505847031,121.507830718,121.50809996,121.508756876,121.508944631,121.514543683,121.514709165,121.515642914,121.521559468,121.523108838,121.524181621,121.5246141,121.524765203,121.528260934,121.530360914,121.530396938,121.530877054,121.531501756,121.531732841,121.532196701,121.533025503,121.533808708,121.534404159,121.534803808,121.535750628,121.536478043,121.5394333,121.541785598,121.71076822,121.71640453,121.72908232,121.73178792,121.73211042,121.732718398,121.733386517,121.73358648,121.733684242,121.73473835,121.734908121,121.736358144,121.737594216,121.738237174,121.738606095,121.73912382,121.739829183,121.740708947,121.740735769,121.741251648,121.743460894,121.743659377,121.743841645,121.744340658,121.744928062,121.745141745,121.745411148,121.74635629,121.74656199,121.746741235,121.74830294,121.748326421,121.748842299,121.749153011,121.750103896,121.750276708,121.751304566,121.751459241,121.751650572,121.753737498,121.754879057,121.75550044,121.757302165,121.75739425,121.757737398,121.758264899,121.758491993,121.758631468,121.759417355,121.759528399,121.759682894,121.760231147,121.760689616,121.76074202,121.761190295,121.762182713,121.762182713,121.763239503,121.763875425,121.764371395,121.764488062,121.767497063,121.767541766,121.770036221,121.77022136,121.77156508,121.772708384,121.773583442,121.779541969,121.780102551,121.783521473,121.787562287,121.792864494,121.795630045,121.799458265,121.842097396,121.628471911,121.629812121,121.632353067,121.632776856,121.634057164,121.637272239,121.637629962,121.640133262,121.640486061,121.640760898,121.641267929,121.64154196,121.641744543,121.641850003,121.644734681,121.645225882,121.64555043,121.647613943,121.648794008,121.64970696,121.651349638,121.654480058,121.657069623,121.65904241,121.659110785,121.670877635,121.672575474,121.674913466,121.725299656,121.726864775,121.729051829,121.72926295,121.73411876,121.73443353,121.735414794,121.73579334,121.735809445,121.73584386,121.743084982,121.743561707,121.746549218,121.747556627,121.747932019,121.748161018,121.748887897,121.749274788,121.749816209,121.749973782,121.752432008,121.755134194,121.757008731,121.764769163,121.767372228,121.77596157,121.777919233,121.792454123,121.259721816,121.272321241,121.278398037,121.278929114,121.290628884,121.29320848,121.294180155,121.296531079,121.297041215,121.298418045,121.299077868,121.299340725,121.300960779,121.301513314,121.302462816,121.303655472,121.305263998,121.30556345,121.305708826,121.30592707,121.306706071,121.306731829,121.308887535,121.309399943,121.309999824,121.311324835,121.312349439,121.312832236,121.313497424,121.314457655,121.314881771,121.315814853,121.318084002,121.318610783,121.319494843,121.319628954,121.320136343,121.320522325,121.322404004,121.328728077,121.3333565,121.265040636063,121.270971000195,121.278735995293,121.279560651003,121.290010660887,121.29862382,121.301408708096,121.301921010018,121.302682757378,121.319548487663,121.320656239987,121.322713494301,121.323638856411,121.565394402,121.565492749,121.567061841,121.568800807,121.569248649,121.569825411,121.569868326,121.571227312,121.573044062,121.573054254,121.574563991,121.575267613,121.575296223,121.57651591,121.576566696,121.576901078,121.578049064,121.579607427,121.579995453,121.580165759,121.580465734,121.580710529,121.58173886,121.582242925,121.582445425,121.583440304,121.583665609,121.583706856,121.583893597,121.584514081,121.585012078,121.586655379,121.586987972,121.588147402,121.588167584,121.588501632,121.589864732,121.590848565,121.596805751,121.597012282,121.598715484,121.598854959,121.600032449,121.600282788,121.601030231,121.601665914,121.601837575,121.603216126,121.610567012,121.611286104,121.611710787,121.612569094,121.61290437,121.614807986,121.618716717,121.621742249,121.623142362,121.62468195,121.625112176,121.63818419,121.63871527,121.63871527,121.645051411,121.649033725,121.649191976,121.653615204,121.663305759,121.603323519066,121.555279463,121.565120059,121.578951446,121.579483346,121.581241235,121.582232938,121.582391195,121.58310528,121.583169578,121.583552392,121.584136752,121.585072428,121.586783445,121.587028792,121.587184186,121.587426641,121.587666962,121.58791467,121.588268108,121.588595931,121.589610918,121.589723702,121.590328924,121.590473982,121.590542746,121.59096987,121.591853857,121.592692316,121.593833327,121.594171242,121.595503919,121.595922262,121.596944498,121.597186164,121.59761951,121.598713953,121.599399403,121.600319736,121.600562124,121.600866627,121.602226584,121.60225494,121.605015179,121.605182998,121.606211802,121.60682878,121.606940565,121.608134931,121.60850043,121.614133369,121.632291165,121.528041715,121.531614162,121.535149285,121.540049929,121.544588983,121.544657707,121.545355618,121.547311127,121.55098114,121.554101373,121.556057512,121.558725777,121.561126504,121.561696884,121.562401056,121.56262581,121.564978469,121.567706237,121.568545997,121.569283153,121.569376663,121.569941142,121.570082409,121.574284147,121.575451856,121.575846492,121.57800849,121.580364071,121.58407081,121.585510521,121.588206628,121.591672908,121.592512065,121.593934198,121.594670367,121.595070362,121.595080534,121.595198536,121.595729222,121.596568376,121.59951122,121.600519186,121.600858061,121.601146186,121.60210765,121.603910923,121.605071802,121.606314182,121.608102868,121.612879389,121.617545043,121.619285345,121.621347427,121.622128031,121.630778052,121.631585956,121.67752634,121.68304656,121.686185054,121.687816209,121.690235136,121.691337362,121.692241014,121.695398048,121.695816852,121.695851446,121.696431616,121.696431616,121.699960099,121.701650355,121.7019695,121.702133393,121.704037256,121.704114497,121.705458726,121.708067452,121.709195987,121.70952183,121.709835437,121.710249782,121.711027624,121.711429977,121.712294177,121.712540388,121.71538353,121.717945575,121.718375087,121.718919462,121.718919462,121.718919462,121.7111742,121.605970209,121.730205575,121.73020649,121.731537394,121.73265896,121.732758206,121.733347336,121.733413339,121.735872433,121.73704965,121.740357084,121.740579717,121.74069407,121.741551387,121.741658449,121.744013053,121.744391367,121.744396727,121.745072342,121.745209694,121.745627046,121.74629007,121.746336103,121.74649816,121.747229288,121.74735676,121.74739478,121.747524052,121.74803893,121.748095135,121.748305495,121.7483185,121.749009714,121.749041606,121.749092264,121.75056337,121.75123335,121.75129509,121.751369119,121.751796996,121.752289027,121.752522773,121.752717197,121.752910853,121.753481627,121.75349809,121.75361465,121.75363183,121.753701568,121.753787398,121.754635353,121.75498342,121.755203613,121.755407412,121.75563508,121.756406306,121.756544709,121.75751623,121.757721009,121.757866162,121.758333497,121.7584508,121.75845415,121.758524358,121.75871727,121.75910417,121.759679675,121.760503164,121.760815682,121.760954261,121.761191368,121.761613539,121.761689933,121.761984229,121.762078643,121.762513076,121.763027973,121.76350542,121.764173671,121.764433793,121.764433793,121.764448168,121.767173978,121.76844556,121.76896315,121.76928506,121.769892909,121.775600884,121.776739597,121.789771677,121.790748,121.804656029,121.80583232,121.807900967,121.808866112,121.810529105,121.832714081,121.833029994,121.759381592001,121.5556644,121.785940081,121.785940081,121.786118315,121.789319616,121.789375726,121.790302992,121.790571211,121.791231036,121.793044494,121.793151265,121.798052026,121.798785961,121.800138395,121.800394297,121.801264651,121.802834051,121.802973256,121.803730322,121.806117066,121.80818366,121.808791205,121.809674028,121.810568961,121.811352968,121.812028108,121.812109148,121.812301073,121.81281209,121.812844998,121.81293815,121.812970103,121.81563355,121.816432412,121.817912163,121.819331211,121.819370974,121.820966201,121.821258125,121.822301498,121.83279043,121.83560481,121.843603268,121.855586288,121.860088264,121.512179159,121.837251822,121.842691301,121.846303225,121.847607524,121.847913187,121.849139347,121.852807083,121.855453552,121.856815155,121.857679848,121.86117649,121.862791784,121.863192022,121.863956451,121.865228378,121.86531878,121.868221164,121.86873014,121.869046181,121.869046181,121.869314099,121.87270446,121.872820203,121.875041486,121.875739974,121.877292517,121.877421141,121.87955018,121.900276263,121.802713334,121.80360462,121.805453835,121.805630207,121.806937548,121.80712182,121.808149914,121.81179939,121.812669933,121.813970566,121.814672985,121.827857208,121.82856471,121.834505438,121.820895681,121.823159517,121.82507538,121.834912598,121.836854867,121.837108093,121.84259868,121.85030347,121.882355868,121.778613925,121.795876622,121.806310415,121.842905901,121.848757714,121.856454399,121.862029854,121.864036918,121.874838552,121.875711061,121.903856993,121.907660365,121.911840588,121.921628861,121.93170476,121.936569214,121.267785581,121.268556974,121.285822392,121.28986379,121.292533278,121.293635302,121.29693532,121.303702816,121.303873658,121.304115057,121.304764152,121.305361211,121.305795729,121.306746304,121.309241411,121.310197771,121.310453117,121.312000751,121.312097311,121.312440097,121.312558651,121.313217152,121.313797832,121.317742985,121.318202918,121.320049304,121.321844459,121.322274148,121.325444134,121.326248646,121.327645041,121.328576803,121.329778433,121.331350207,121.333821058,121.337398589,121.337727537,121.339139342,121.343158286,121.343952225,121.3449204,121.349005478,121.256428062916,121.261733472347,121.285371780723,121.292082435131,121.293041557074,121.298723817036,121.305402588243,121.308679661745,121.311898448419,121.316294074113,121.318285440079,121.319763064385,121.320001780987,121.321879327297,121.321934312582,121.327502578579,121.332798600197,121.335930079222,121.340719163418,121.344930231571,121.347679495812,121.379442215,121.389500499,121.390168883,121.39360896,121.39421314,121.395220484,121.39605957,121.396165788,121.404127149,121.410089599,121.424076855,121.437272895,121.459483621,121.462230041,121.386533975601,121.405781507492,121.41375900662,121.421314636044,121.44263448944,121.607590486,121.610436903,121.613510549,121.621211171,121.621421924,121.625950634,121.627264917,121.635098308,121.645282656,121.65347144,121.668498516,121.669166386,121.672354192,121.675213425,121.685026288,121.692539155,121.312314617,121.320691109,121.335448623,121.346086786,121.346188414,121.34619898,121.350664513,121.35124094,121.36195251,121.36519648,121.36550366,121.368718743,121.382089555,121.382371187,121.339788441996,121.733206809,121.746620536,121.756048501,121.76217916,121.764376985,121.781430558,121.792330742,121.798728494363,121.50180459,121.51098258,121.512597176,121.517848223,121.520166993,121.535397505,121.535755992,121.535820365,121.554418802,121.560209692,121.255505383,121.273886561,121.275029961,121.286222411,121.306247413,121.32638915,121.331723034,121.283174897396,121.653966912,121.69989109,121.713761302,121.716770232,121.735693216,121.739110351,121.74285723,121.756753922,121.770036221,121.149212635,121.15124236,121.156709414,121.15938096,121.163005042,121.164503039,121.166803061,121.167974609,121.168235265,121.172793685,121.180066148,121.183662251,121.187898,121.19149207,121.193932584,121.198666692,121.207736886,121.208933755,121.209754944,121.210666895,121.210905157,121.227571958,121.228334756,121.240595327,121.2421835,121.243657144,121.24543862,121.245921314,121.24761553,121.247766609,121.24861354,121.248637471,121.250171658,121.250220982,121.253577432,121.254204612,121.256675909,121.257257335,121.258048098,121.258732683,121.259955522,121.260278223,121.260281586,121.2604551,121.260626604,121.261164713,121.262147591,121.262794877,121.262947853,121.265474908,121.265666625,121.26595052,121.266033318,121.266882146,121.267371049,121.267740943,121.268933095,121.269104267,121.269491163,121.270868913,121.271493886,121.271661459,121.273505266,121.273523058,121.274039024,121.274517539,121.275578522,121.27593993,121.275968103,121.276300347,121.27684431,121.276959174,121.278386963,121.278897057,121.28017945,121.280720541,121.290144451,121.292979077,121.31173567,121.314836482,121.32282192,121.324095778,121.325026505,121.34344295,121.343873441,121.3556866,121.481888791,121.488398557,121.492438316,121.49248283,121.50250552,121.518428922,121.522297936,121.523015499,121.566931273,121.579315202,121.581410219,121.597354296,121.599200964,121.599892456,121.602215253,121.60356925,121.60670523,121.6179686,121.618185116,121.620283127,121.621259451,121.623253056,121.623803945,121.62634796,121.627288571,121.628817515,121.631015105,121.631194353,121.631806641,121.63728065,121.638005019,121.639306961,121.64831251,121.64964117,121.65355962,121.67316576,121.680176386,121.774209555,121.247676237901,121.505693793297,121.507791280747,121.516159772873,121.517447769675,121.531807780266,121.637996435166,121.649696230889,121.659936904907,121.660049557686,121.666213274002,121.668836474419,121.141659021,121.141663313,121.147452593,121.15031451,121.155174673,121.155294299,121.156090117,121.15721538,121.159289859,121.163688004,121.16689539,121.1702744,121.174424887,121.18284168,121.186828427,121.190080941,121.193653441,121.198860884,121.199152172,121.207692861,121.208161712,121.2123245,121.21381873,121.215460796,121.216980179,121.218733252,121.2194729,121.220548153,121.220644712,121.228028834,121.229832832,121.230393771,121.23090633,121.241474748,121.245471239,121.250044405,121.171252727945,121.186071932098,121.204755306244,121.211429983378,121.226009130478,121.228002905791,121.11159231,121.143982906,121.144172247,121.149386789,121.149414757,121.150006056,121.15213356,121.152521968,121.156128598,121.157339215,121.15798831,121.159832079,121.162409942,121.16600101,121.168275594,121.172638535,121.17288332,121.185218096,121.188340187,121.14541505,121.152484416961,121.170463263989,121.170879006386,121.18340063118],null,null,null,{"interactive":true,"draggable":false,"keyboard":true,"title":"","alt":"","zIndexOffset":0,"opacity":1,"riseOnHover":false,"riseOffset":250},["西大社区党群服务站采样点【常态化】","侯黄桥社区党群服务站采样点【常态化】","银杏社区党群服务站采样点【常态化】","嘉定镇街道社区党群服务中心采样点【常态化】","三皇桥社区党群服务站采样点【常态化】","嘉定体育馆采样点【常态化】","桃园社区党群服务站采样点【常态化】","丽景社区党群服务站采样点【常态化】","花园弄社区党群服务站采样点【常态化】","小囡桥社区党群服务站采样点【常态化】","叶池社区党群服务站采样点【常态化】","嘉定镇社区卫生服务中心【常态化】","清河路采样点【常态化】","州桥社区党群服务站采样点【常态化】","塔城社区党群服务站采样点【常态化】","嘉中社区党群服务站采样点【常态化】","李园二村社区党群服务站采样点【常态化】","汇龙潭社区党群服务站采样点【常态化】","秋霞社区党群服务站采样点【常态化】","李园一村社区党群服务站采样点【常态化】","同颐庆堂便民采样点【常态化】【常态化】","连俊村党群服务站核酸采样点【常态化】","双塘村党群服务站核酸采样点【常态化】","塔桥村党群服务站核酸采样点【常态化】","华亭镇社区卫生服务中心【常态化】","沁园社区党群服务站核酸采样点【常态化】","唐行村党群服务站核酸采样点【常态化】","毛桥村党群服务中心核酸采样点【常态化】","北新村党群服务站核酸采样点【常态化】","华亭镇浏翔公路核酸采样点【常态化】","袁家桥社区党群服务站核酸采样点【常态化】","华旺社区党群服务站核酸采样点1【常态化】","华亭村党群服务站核酸采样点【常态化】","华亭工业园区采样点【常态化】","联悦党群服务点核酸采样点【常态化】","联三村党群服务站核酸采样点【常态化】","金吕村党群服务站核酸采样点【常态化】","青冈园区核酸采样点【常态化】","嘉莱社区党群服务站核酸采样点【常态化】","六里园区核酸采样工作站【常态化】","嘉悦社区党群服务站核酸采样点【常态化】","嘉和社区党群服务站核酸采样点【常态化】","轨交11号线嘉定西站核酸采样工作站【常态化】","魔方社区核酸采样工作站【常态化】","菊园新区社区卫生服务中心城北分中心【常态化】","上海嘉华医院【常态化】","轨交11号线嘉定北站核酸采样工作站【常态化】","嘉加德必易园核酸采样工作站【常态化】","嘉定区中心医院【常态化】","嘉呈社区党群服务站核酸采样点【常态化】","北水湾体育公园采样点【常态化】","菊园新区社区党群服务中心核酸采样工作站【常态化】","菊园企业文化交流中心核酸采样工作站【常态化】","菊园新区永新路足球场核酸采样工作站【常态化】","嘉铭社区党群服务站核酸采样点【常态化】","嘉盛社区党群服务站核酸采样点【常态化】","信业广场核酸采样工作站【常态化】","泰和路717弄【常态化】","泗东新村采样点【常态化】","吴淞街道半岛1919采样点【常态化】","吴淞街道社区卫生服务中心【常态化】","吴淞街道百联生活中心采样点【常态化】","七立方【常态化】","吴淞街道青岗路社区卫生服务站采样点【常态化】","吴淞街道安达路采样点【常态化】","桃园绿地【常态化】","吴淞街道诺亚新天地采样点【常态化】","吴淞街道社区卫生服务中心永清二村社区卫生服务站采样点【常态化】","吴淞中心医院采集点【常态化】","牡丹江路359号通道【常态化】","吴淞街道通大医院采样点【常态化】","吴淞街道社区卫生服务中心分中心【常态化】","步云菜场通道【常态化】","受理服务中心门口【常态化】","开埠广场【常态化】","永清新村【常态化】","吴淞街道星月广场采样点【常态化】","吴淞街道桥南采样点【常态化】","海江二村门口【常态化】","吴淞街道淞宝路采样点【常态化】","吴淞街道海江新村居民区党群服务站【常态化】","呼玛三村第一居民区党群服务站【常态化】","呼玛路800号西侧通道【常态化】","共和新路5479号【常态化】","交运智慧湾通河路门(通河路836号)【常态化】","通河三村民悦苑门口【常态化】","家乐福超市(共和新路5219号)【常态化】","博济园区门口【常态化】","长江路社区卫生服务中心通河四村社区卫生服务站采样点【常态化】","长江路社区卫生服务中心采样点【常态化】","红太阳广场【常态化】","呼玛二村居民区党群服务站【常态化】","骏利财智中心【常态化】","通河八村第一居民区党群服务站【常态化】","通河一村为民服务中心(98号旁)【常态化】","呼兰路爱辉路西南块绿地【常态化】","长江路社区卫生服务中心共江社区卫生服务站采样点【常态化】","呼玛路菜场东侧绿地【常态化】","长江路社区卫生服务中心通河社区卫生服务站采样点【常态化】","爱辉路泗塘公园南侧【常态化】","通河二村居民区党群服务站【常态化】","三湘盛世花园东侧【常态化】","呼兰路虎林路西泗塘河桥【常态化】","泗塘社区卫生服务中心呼玛一村社区卫生服务站采样点【常态化】","虎林园【常态化】","泗塘爱晖服务站采样点【常态化】","锦辉绿园爱辉路大门口南侧【常态化】","智航大厦红色共享空间党群服务站【常态化】","泗塘二村服务站采样点【常态化】","张庙街道社区党群服务中心【常态化】","泗塘社区卫生服务中心采样点【常态化】","申林综合广场(虎林路266-1号)【常态化】","虎林广场(虎林路18号)【常态化】","一二八纪念路抗战纪念广场【常态化】","晓游园西侧通河路【常态化】","共江路通道【常态化】","长江西路虎林路西南块绿地【常态化】","宝钢发展有限公司汽车通勤公司采样点【常态化】","宝钢体育中心采样点【常态化】","宝钢物流有限公司(北门)采样点【常态化】","华域皮尔博格泵技术有限公司采样点【常态化】","宝山区婚姻登记管理所采样点【常态化】","友谊社卫宝钢三村服务站采样点【常态化】","友谊公园(南门)采样点【常态化】","新莲汇采样点【常态化】","长滩瀑布公园采样点【常态化】","宝山区中西医结合医院采样点【常态化】","友谊街道社区卫生服务中心长滩服务站采样点【常态化】","宝乐汇采样点【常态化】","华能城市花园采样点【常态化】","宝山区医疗急救中心友谊分站采样点【常态化】","宝莲城采样点【常态化】","上海隧道工程有限公司沪通铁路项目部采样点【常态化】","友谊路小花园采样点【常态化】","安信广场F区北广场采样点【常态化】","友谊路43弄东侧小花园采样点【常态化】","密山路友谊支路口采样点【常态化】","牡丹江路迪信通采样点【常态化】","友谊路街道社区党群服务中心【常态化】","宝林路城河桥采样点【常态化】","宝山体育中心采样点【常态化】","宝山八村采样点【常态化】","友谊司法所采样点【常态化】","盘古路吴淞口路口采样点【常态化】","上海淞沪抗战纪念公园采样点【常态化】","友谊社卫采样点【常态化】","宝山区第一中心小学(西部)采样点【常态化】","友谊社卫宝山二村服务站采样点【常态化】","宝杨路宝东路小花园采样点【常态化】","宝山区医疗保障局采样点【常态化】","吴淞污水处理厂采样点【常态化】","罗店镇第三社区卫生服务中心联合社区卫生服务站采集点【常态化】","U天地广场【常态化】","罗店镇南周村党群服务站【常态化】","罗溪村【常态化】","罗店镇社区文化活动中心【常态化】","罗店镇社区党群服务中心【常态化】","东南弄村【常态化】","美兰城广场【常态化】","罗店镇第三社区服务中心采集点【常态化】","大润发广场【常态化】","金星村【常态化】","上海震旦职业学院校【常态化】","美兰湖商业街【常态化】","罗店镇社区卫生服务中心美诺路采集点【常态化】","宝龙广场绿地【常态化】","罗南广场【常态化】","罗店镇工业园区党群服务站【常态化】","西埝村【常态化】","美兰湖高尔夫球场【常态化】","罗店镇社区卫生服务中心蔡家弄社区卫生服务站采集点【常态化】","罗店镇光明村党群服务站【常态化】","罗店镇社区卫生服务中心王家村卫生服务站采集点【常态化】","花神广场【常态化】","大场镇绿地领海点【常态化】","大场镇锦秋路2039号点【常态化】","大场镇丰宝路380号点【常态化】","汇枫景苑点【常态化】","保利熙悦居民区党群服务点【常态化】","宝祁雅苑第一居民区党群服务站【常态化】","宝祁雅苑第二居民区党群服务站【常态化】","大场镇祁连社区卫生服务中心葑村社区卫生服务站采集点【常态化】","大场镇南大路15号线点【常态化】","大场镇聚丰园路588号点【常态化】","上海现代流通学校采样点【常态化】","祁连一村二居点【常态化】","祁连二村一居点【常态化】","祁连一村一居点【常态化】","祁连山路锦秋路口朗乡广场采集点【常态化】","大场镇朗香广场点【常态化】","大场镇祁连社区卫生服务中心【常态化】","大场镇百联仓库南门点【常态化】","祁连三村第三居民区党群服务站【常态化】","当代高邸点【常态化】","上海大学宝山校区新世纪采集点【常态化】","大场镇弘基广场点【常态化】","大场镇锦秋新天地点【常态化】","上海大学宝山校区南区采集点【常态化】","大场镇祁秀雅苑东门点【常态化】","上海大学附属中学采样点【常态化】","大场医院采样点【常态化】","上海大学宝山校区采集点【常态化】","大场镇格林豪泰点【常态化】","大场镇宝山科技园北门点【常态化】","城市绿洲二居 点【常态化】","大场镇南陈路点【常态化】","大场镇复地中环天地广场点【常态化】","大场镇南大路点【常态化】","上海大学宝山校区东区采集点【常态化】","中环一号社区卫生服务站采集点【常态化】","联合居委【常态化】","大场镇1876文创园点【常态化】","大场镇康泰新城【常态化】","城市绿洲一居点【常态化】","学士逸居点【常态化】","大场镇环镇北路383弄198号点【常态化】","大场镇真金路1041号点【常态化】","大场镇东方国贸新城点【常态化】","乾溪第六居民区党群服务站【常态化】","大场镇真北路点【常态化】","大场镇谊涛铝合金厂门口点【常态化】","乾溪第八居民区党群服务站【常态化】","大场镇昇派克产业园区点【常态化】","环上大科技园2号基地党群服务站【常态化】","乾溪二居【常态化】","大场镇红光体育场点【常态化】","乾溪四居【常态化】","大场镇华生创谷点【常态化】","乾溪第一居民区党群服务站【常态化】","上大路尊木汇6号【常态化】","大场镇真华路1780号点【常态化】","大华三村六居点【常态化】","大场镇文渊楼南广场点【常态化】","大场镇大场社区卫生服务中心大华二村社区卫生服务站采集点【常态化】","大华二村四居点【常态化】","大场镇大华虎城点【常态化】","大场镇振杰酒店门口广场点【常态化】","大华三村四居点【常态化】","大华一村七居点【常态化】","文华苑【常态化】","宝山日月光点【常态化】","大场镇大华老镇嘉年华-盒马点【常态化】","大华三村二居点【常态化】","大华三村五居点【常态化】","宝山日月光点【常态化】","大场社区卫生服务中心采集点【常态化】","嘉华苑【常态化】","大场镇新沪路689号点【常态化】","大华三村三居点【常态化】","大华二村六居点【常态化】","大华二村五居点【常态化】","大华二村二居点【常态化】","大华三村七居点【常态化】","大华三村一居点【常态化】","大场镇华灵路1088号广场点【常态化】","大华一村三居点【常态化】","大华一村四居点【常态化】","东街居委【常态化】","大华一村二居点【常态化】","大华一村五居点【常态化】","新华居委点【常态化】","大华一村一居点【常态化】","大场镇第三社区卫生服务中心采集点【常态化】","祁连二村三居点【常态化】","祁连一村三居点【常态化】","祁连二村二居点【常态化】","南大服务站南秀雅苑居民区党群服务站【常态化】","企发公司2【常态化】","企发公司1【常态化】","和家欣苑C区采集点【常态化】","杨北村礼才物流采集点【常态化】","红林路社区卫生服务站采集点【常态化】","海德名门商铺采样点【常态化】","西街村宝安公路采集点【常态化】","昊耀科创大厦采样点【常态化】","荣万宝邸采集点【常态化】","远洋悦庭采集点【常态化】","华馨苑采集点【常态化】","城西二村采集点【常态化】","柏丽华庭采集点【常态化】","东芝电梯采集点【常态化】","紫辰苑A区采集点【常态化】","海创杨泰高新科技园【常态化】","世华佳苑采集点【常态化】","中铁北辰采集点【常态化】","莲花山路采集点【常态化】","北外环信息产业园采样点【常态化】","城西一村振宝采集点【常态化】","康桥水都采集点【常态化】","杨泰二村第二居民区党群服务站【常态化】","四季花城一居采集点【常态化】","香逸湾采集点【常态化】","杨行镇社区卫生服务中心采样点【常态化】","西浜村联谊路采集点【常态化】","松兰路社区卫生服务站采集点【常态化】","保集欧郡采集点【常态化】","招商花园城【常态化】","福地苑东区采集点【常态化】","江杨水产品批发市场采样点【常态化】","友谊苑采集点【常态化】","东智商务广场【常态化】","宝杨路2121创意园采样点【常态化】","江杨农产品批发市场公司【常态化】","杨东村铁峰路采集点【常态化】","宝盘丽景苑采集点【常态化】","三汀沟村铁山路采集点【常态化】","宝杨路2021弄采集点【常态化】","吴淞泗塘生态科技园采样点【常态化】","东鼎国际大厦【常态化】","陈巷村党群服务站【常态化】","杨行镇社区卫生服务中心杨北社区卫生服务站采集点【常态化】","和家欣苑D区采集点【常态化】","湄浦村服务点采集点【常态化】","飘鹰采集点【常态化】","大黄村采集点【常态化】","丽景翠庭采集点【常态化】","天馨花园采集点【常态化】","宝启公寓【常态化】","富锦苑居民区党群服务站【常态化】","梅林路采集点【常态化】","杨泰康苑采集点【常态化】","春江美庐采集点【常态化】","泗塘村采集点【常态化】","宝杨路2021弄采集点2【常态化】","昊耀科创大厦【常态化】","盛星村采样点【常态化】","海陆村党群服务站【常态化】","盛桥社区卫生服务中心聚源桥社区卫生服务站采样点【常态化】","勤丰村采样点【常态化】","长春村春和路1510号临【常态化】","云天路248号国富光启停车场【常态化】","月狮村金家宅158号【常态化】","云林路302弄北岸郡庭门卫南侧桥上【常态化】","勤丰村月新南路871号曹家宅路路口【常态化】","新丰村采样点【常态化】","练祁路造纸厂门口【常态化】","沈巷村采样点【常态化】","月川路蕰川路路口月川绿地【常态化】","月宁路塔虹路路口健康主题绿地【常态化】","春和路183号春风物流厂门口【常态化】","月泉路58弄鸿瑞园【常态化】","月浦八村采样点【常态化】","德都路111号月浦镇社区事务受理中心广场【常态化】","月浦镇社区卫生服务中心采样点【常态化】","上海中冶医院采样点【常态化】","长春村采样点【常态化】","沈家桥村党群服务站【常态化】","钱潘村采样点【常态化】","罗泾镇塘湾村社区卫生服务站采集点【常态化】","罗泾镇肖泾村党群服务站【常态化】","罗泾镇罗宁苑居民区党群服务站【常态化】","罗泾镇肖泾东沪太路采集点【常态化】","罗泾镇新陆村党群服务站【常态化】","罗泾镇睦邻小镇采样点【常态化】","霄云湾公寓采集点【常态化】","罗泾镇飞云路采集点【常态化】","罗泾镇宝虹家园居民区党群服务站【常态化】","罗泾镇合建村党群服务站【常态化】","罗泾镇社区卫生服务中心采集点【常态化】","罗泾镇花红村服务站采集点【常态化】","罗泾镇陈行街核酸采集点【常态化】","罗泾镇牌楼村党群服务站【常态化】","罗泾镇社区卫生服务中心金石社区卫生服务站采集点【常态化】","罗泾海星村社区卫生服务站采集点【常态化】","迎园党群服务中心·我嘉邻里中心采样点【常态化】","南塘河社区采样点【常态化】","迎园医院【常态化】","新成村采样点【常态化】","新望社区采样点【常态化】","澄浏中路采样点【常态化】","沧海社区采样点【常态化】","南陈、仓场社区采样点【常态化】","新成社区采样点【常态化】","广福村党群服务站【常态化】","沈宅村党群服务站【常态化】","菊泉新城长白山路u200b采集点【常态化】","中企·光华雅境营销中心【常态化】","陈行村党群服务站【常态化】","菊泉新城社区正义村采集点【常态化】","保利叶都第二居民区党群服务站【常态化】","归王村党群服务站【常态化】","弘保菜场【常态化】","顾村公园3号门【常态化】","龙湖天街采样点【常态化】","馨佳园第二居民区党群服务站【常态化】","宝菊路菊联路交叉口【常态化】","好日子大家园第一居民区党群服务站【常态化】","昊元广场采样点【常态化】","馨佳园第十一居民区党群服务站【常态化】","翼家市场【常态化】","正大乐城采样点【常态化】","顾村菊泉文体中心【常态化】","菊泉新城社区卫生服务中心采集点【常态化】","菊泉新城菊泉故里u200b采集点【常态化】","菊泉居民区党群服务站【常态化】","老安村党群服务站【常态化】","龙湖冠寓【常态化】","城大建材【常态化】","梓坤科技园【常态化】","绿地北郊广场【常态化】","顾村公园1号门【常态化】","顾村镇社区卫生服务中心羌家村采集点【常态化】","东方帕堤欧居民区党群服务站【常态化】","沙浦路顾荻路交叉口【常态化】","白杨村党群服务站【常态化】","谭杨村党群服务站【常态化】","世纪长江苑居民区u200b党群服务站【常态化】","宝顾佳苑居民区党群服务站【常态化】","丰水宝邸居民区党群服务站【常态化】","顾村市场【常态化】","兴明建材市场【常态化】","富联三路富联路【常态化】","绿饰汇1号门【常态化】","顾村镇社区卫生服务中心杨木桥村采集点【常态化】","富联三路28号【常态化】","顾村镇社区卫生服务中心采集点【常态化】","新顾村大家园第二居民区党群服务站【常态化】","保集e智谷【常态化】","盛宅村党群服务站【常态化】","顾村镇社区党群服务中心文体楼【常态化】","世纪联华顾村店【常态化】","顾村镇社区卫生服务中心星星村采集点【常态化】","润通市场【常态化】","星星村为民服务中心【常态化】","富弘市场【常态化】","顾村镇社区卫生服务中心共富社区卫生服务站采集点【常态化】","智慧湾采集点【常态化】","沈杨村党群服务站【常态化】","朱家弄村党群服务站【常态化】","宝山万达广场采样点【常态化】","高境镇社区卫生服务中心共和九居社区卫生服务站采样点【常态化】","高境镇社区卫生服务中心采样点【常态化】","新杨湾科创园采样点【常态化】","长江国际商业中心采样点【常态化】","三邻桥体育文化园采样点【常态化】","恒高家园采样点【常态化】","晨帆路158号采样点【常态化】","高境二村采样点【常态化】","新业坊源创采样点【常态化】","逸景佳苑采样点【常态化】","上海长江软件园党群服务站【常态化】","逸仙大厦采样点【常态化】","复旦软件园采样点【常态化】","美岸栖庭采样点【常态化】","逸仙一村二居社区卫生服务站采样点【常态化】","殷高路21弄采样点【常态化】","高境镇社区文化活动中心采样点【常态化】","华润万家超市采样点【常态化】","三门路489弄采样点【常态化】","中设广场采样点【常态化】","国权北路380弄采样点【常态化】","高境六村一居社区卫生服务站采样点【常态化】","场北路康文路交叉口采样点【常态化】","沪北工业园区采样点【常态化】","庙行镇社区场北服务站采集点【常态化】","共康雅苑一居采样点【常态化】","康家村采样点【常态化】","庙行大学生创业中心采样点【常态化】","大康工业园采集点【常态化】","庙行镇社区文化中心采样点【常态化】","庙行镇社区卫生服务中心采样点【常态化】","共和公园北门采样点【常态化】","康家村城中村改造基地采样点【常态化】","龙盛活力小镇（上海智力产业园党群服务站）采集点【常态化】","丽都广场采样点【常态化】","北斗星商业广场采样点【常态化】","智力产业园采集点【常态化】","共康七村北门采样点【常态化】","庙行镇社区卫生服务中心共和社区卫生服务站采集点【常态化】","庙行镇社区党群服务中心【常态化】","庙行镇社区共康服务站采集点【常态化】","百渠广场采样点【常态化】","万渡广场采样点【常态化】","绿地风尚天地采样点【常态化】","盛达家园【常态化】","钢材市场【常态化】","振新实业【常态化】","新贸海【常态化】","淞南新二社区卫生服务站采样点【常态化】","不锈钢大道钢四路以东400米【常态化】","三湘海尚【常态化】","淞南镇社区党群服务中心【常态化】","淞南购物中心【常态化】","淞南塘桥社区卫生服务站采样点【常态化】","互联宝地【常态化】","淞宏苑【常态化】","淞南公园北门【常态化】","淞南社卫采样点【常态化】","农工商超市【常态化】","同济创园【常态化】","巴黎时光【常态化】","长宏新苑【常态化】","华滋奔腾大厦【常态化】","淞南镇社区卫生服务中心华浜社区卫生服务站采样点【常态化】","建配龙【常态化】","中成智谷【常态化】","华浜二村【常态化】","芳草寓【常态化】","凯旋门便民采样点【常态化】","杨家渡便民采样点【常态化】","世茂便民采样点【常态化】","张家浜便民采样点【常态化】","世茂广场【常态化】","潍坊东南服务站【常态化】","陈家宅便民采样点【常态化】","乐凯市场【常态化】","谢家宅便民采样点【常态化】","朱家滩便民采样点【常态化】","华润时代广场【常态化】","潍坊东明服务站【常态化】","潍坊三村便民采样点【常态化】","潍坊朱家滩服务站【常态化】","泉东(二)便民采样点【常态化】","潍坊二村便民采样点【常态化】","泉东(一)便民采样点【常态化】","潍坊六七村便民采样点【常态化】","潍坊社区党群服务中心【常态化】","左岸88大厦【常态化】","潍坊一村服务站【常态化】","崂东便民采样点【常态化】","潍坊五村便民采样点【常态化】","潍坊社区卫生服务中心【常态化】","潍坊四村便民采样点【常态化】","宝安大厦【常态化】","汤臣金融大厦采样点【常态化】","潍坊十村(二)便民采样点【常态化】","宝安大厦解码22号点【常态化】","潍坊孝亲敬老广场【常态化】","潍坊孝亲敬老广场-达安43号【常态化】","潍坊十村(一)便民采样点【常态化】","王家宅便民采样点【常态化】","潍坊九村便民采样点【常态化】","竹南便民采样点【常态化】","世纪汇解码21号点【常态化】","潍坊八村便民采样点.【常态化】","福竹便民采样点【常态化】","潍坊街道竹园睦邻中心-达安42号【常态化】","竹园睦邻中心【常态化】","城建中心大厦广场【常态化】","竹园便民采样点【常态化】","浦电路站1号口【常态化】","张杨便民采样点【常态化】","源竹便民采样点【常态化】","香榭丽便民采样点【常态化】","陆家嘴滨江公交枢纽-金域-26【常态化】","滨江居民区【常态化】","仁恒居民区【常态化】","银城路66号尚悦湾(大都会游艇会旁边)【常态化】","汇豪居民区【常态化】","尚悦湾【常态化】","东昌居民区【常态化】","东昌卫生服务站【常态化】","东一居民区【常态化】","上海市东方医院(总院)【常态化】","江临居民区【常态化】","三航居民区【常态化】","浦江茗园居民区【常态化】","浦东文化馆-金域-4【常态化】","盒马上海湾-金域-3【常态化】","陆家嘴中心解码11号点【常态化】","崂六居民区【常态化】","崂五居民区【常态化】","第一八佰伴【常态化】","崂山五村卫生服务站【常态化】","荣城居民区【常态化】","崂三居民区【常态化】","商城路南泉北路-金域-30【常态化】","崂一居民区【常态化】","浦东图书馆陆家嘴分馆-金域-22【常态化】","荣成服务站【常态化】","乳二居民区【常态化】","乳山社区卫生服务站【常态化】","乳四居民区【常态化】","梅三居民区【常态化】","梅一居民区【常态化】","浦滨儿童医院【常态化】","乳五居民区【常态化】","梅三服务站【常态化】","市新居民区【常态化】","隧成居民区【常态化】","陈家门居民区【常态化】","福山居民区【常态化】","陆家嘴社区便民站(中心)【常态化】","林山居民区【常态化】","松山居民区【常态化】","光辉居民区【常态化】","微山三村便民采样点【常态化】","欧典广场便民采样点【常态化】","滨江中心便民采样点【常态化】","塘桥微南服务站【常态化】","南浦居委便民采样点【常态化】","茂兴居委便民采样点【常态化】","香花居委便民采样点【常态化】","塘桥宁阳服务站【常态化】","浦明居委便民采样点【常态化】","沃尔玛便民采样点【常态化】","生活广场便民采样点【常态化】","上海交通大学医学院附属仁济医院(临沂北路北园路口)【常态化】","仁济医院东院【常态化】","南城居委便民采样点【常态化】","胡木居委便民采样点【常态化】","南泉居委便民采样点【常态化】","浦建居委便民采样点【常态化】","塘桥社区卫生服务中心【常态化】","塘桥居委便民采样点【常态化】","集贸市场便民采样点【常态化】","东方居委便民采样点【常态化】","蓝村居委便民采样点【常态化】","龙园居委便民采样点【常态化】","金浦居委便民采样点【常态化】","蓝东居委便民采样点【常态化】","文兰居委便民采样点【常态化】","怡东居委便民采样点【常态化】","塘东居委便民采样点【常态化】","贵龙居委便民采样点【常态化】","龙阳居委便民采样点【常态化】","蓝村路地铁2号口采样点【常态化】","蓝高居委便民采样点【常态化】","党群服务中心便民采样点【常态化】","塘桥兰高服务站【常态化】","卜蜂莲花仁东19号点【常态化】","富都居委便民采样点【常态化】","软件园便民采样点【常态化】","陆家嘴软件园服务站【常态化】","上南一村家门口服务站(上南一村47号)【常态化】","上南二村家门口服务站(上南二村35号)【常态化】","上南四村家门口服务站(上南四村31号)【常态化】","雪野二村家门口服务站(浦东南路4800弄25号)【常态化】","上南公园仁东24号点【常态化】","成山路/上南路地铁口仁东21号点【常态化】","周家渡街道党建服务中心仁东23号点【常态化】","上南三村家门口服务站(上南路1251弄67号)【常态化】","周家渡上南五村服务站【常态化】","蔓趣公园仁东25号点【常态化】","上南十一村家门口服务站(德州路150弄70号)【常态化】","上南九村家门口服务站(成山路248弄17号)【常态化】","云台路/浦东南路北侧7号线地铁站仁东27号点【常态化】","上南六村家门口服务站(上南六村17号)【常态化】","上南十村二家门口服务站(洪山路301弄38号)【常态化】","上南七村家门口服务站(昌里路98弄7号)【常态化】","浦东长途客运站仁东28号点【常态化】","漫乐城-达安15号【常态化】","上南八村家门口服务站(上南八村44号102室)【常态化】","昌里花园居民区家门口服务站(云台路183弄10号)【常态化】","云台一民区家门口服务站(昌里东路80弄41号)【常态化】","德州公园解码33号点【常态化】","上南花苑居民区家门口服务站(齐河路257弄37号)【常态化】","上南十二村家门口服务站(德州路20弄26号)【常态化】","云莲一民区家门口服务站(浦东南路3885弄92号)【常态化】","上南十村一家门口服务站(成山路350弄63号)【常态化】","中建广场-达安16号【常态化】","川新居民区家门口服务站(云台路529弄9号103二楼)【常态化】","都市庭院居民区家门口服务站(齐河路438弄20号101室)【常态化】","周家渡川新服务站【常态化】","云台二民区家门口服务站(成山路601弄28号)【常态化】","文化中心仁东22号点【常态化】","周家渡社区卫生服务中心【常态化】","恒大建材市场生活区解码34号点【常态化】","齐五居民区家门口服务站(东明路355弄1号)【常态化】","齐七居民区家门口服务站(昌里东路395弄53号)【常态化】","齐一居民区家门口服务站(东明路383弄7号103室)【常态化】","恒大居民区家门口服务站(成山路668弄42号1楼)【常态化】","周家渡社区卫生服务中心邹平分中心【常态化】","齐八居民区家门口服务站(南码头路1288弄1号105室)【常态化】","齐二居民区家门口服务站(南码头路1186弄10号)【常态化】","云顶广场仁东26号点【常态化】","周家渡云莲服务站【常态化】","昌四居民区家门口服务站(南码头路1550弄5号)【常态化】","周家渡成山服务站【常态化】","齐三居民区家门口服务站(南码头路1187弄19号)【常态化】","齐四居民区家门口服务站(南码头路1349弄1号)【常态化】","月半弯昌里园解码32号点【常态化】","成山路办公中心仁东29号点【常态化】","昌五居民区家门口服务站(昌里东路650弄18号)【常态化】","昌七居民区家门口服务站(南码头路1621弄59号)【常态化】","上南五村家门口服务站(洪山路121弄7支弄1号)【常态化】","凌十三【常态化】","凌十二【常态化】","凌十四【常态化】","凌十五【常态化】","东明凌兆服务站【常态化】","上浦路202弄仁东7号点【常态化】","仁东医学-长清路华夏西路路口【常态化】","凌十六【常态化】","上浦路长清路路口仁东9号点【常态化】","凌九【常态化】","凌十【常态化】","凌八【常态化】","上浦路灵岩南路路口仁东8号点【常态化】","凌二【常态化】","凌七【常态化】","凌一【常态化】","三林路灵岩南路路口仁东10号点【常态化】","东明凌兆新村服务站【常态化】","凌三【常态化】","凌五【常态化】","凌四【常态化】","中房金谊广场-达安11号【常态化】","上海市东方医院(南院)【常态化】","金光社区【常态化】","金光卫生服务站【常态化】","金谊河畔【常态化】","永泰花苑站卫生服务站【常态化】","翠竹苑【常态化】","金色雅筑【常态化】","湾流域【常态化】","品翠苑【常态化】","品华苑【常态化】","东明党群服务中心仁东6号点【常态化】","金桂苑【常态化】","尚博路九子广场仁东11号点【常态化】","东明安盛服务站【常态化】","盒马高青路店解码12号点【常态化】","盒马高青路店【常态化】","品新苑【常态化】","金橘【常态化】","樱桃苑【常态化】","永泰路新达汇-达安10号【常态化】","东明路永泰路路口-达安12号【常态化】","安居苑【常态化】","红枫苑【常态化】","三林新达汇【常态化】","三林新达汇解码28号点【常态化】","盛源【常态化】","永泰路公交枢纽站仁东12号点【常态化】","金禾【常态化】","棕榈苑【常态化】","新一【常态化】","东明社区卫生服务中心【常态化】","新二【常态化】","乳山路505弄43号【常态化】","浦东大道1139弄2号601室【常态化】","张杨路1515弄16号102室【常态化】","浦东大道1460弄6号101室【常态化】","桃林路299弄61号【常态化】","羽山路100弄31号101室【常态化】","桃林路815弄8号101室【常态化】","浦东大道崮山路口【常态化】","羽山路桃林路路口【常态化】","浦东大道1615弄11号【常态化】","滨江大道399弄10号【常态化】","张杨路1667弄1号102室【常态化】","巨野路60弄5号101室【常态化】","栖山路100弄46号【常态化】","灵山路600弄8号103室【常态化】","羽山路383弄南门处【常态化】","张杨路民生路路口【常态化】","栖山路巨野路口【常态化】","浦东大道1695弄41号乙【常态化】","沈家弄路877弄16号101室【常态化】","浦东大道1851弄16号甲【常态化】","沈家弄路900弄1号【常态化】","洋泾桃林服务站【常态化】","灵山路701弄29号2楼【常态化】","泾西一村22号【常态化】","张扬路1734弄31号【常态化】","民生路999弄15号2楼【常态化】","栖山路401弄2号108室【常态化】","苗圃路218弄18号101、102室【常态化】","张杨路1811弄11号201室【常态化】","崮山卫生服务站【常态化】","羽山路600弄34号2楼【常态化】","巨野路469弄6号【常态化】","洋泾镇路89弄17号【常态化】","永安新村7号【常态化】","阳光二村25号103室【常态化】","洋泾社区卫生服务中心【常态化】","海防新村73号【常态化】","阳光三村2号底楼【常态化】","南洋泾路296弄2号【常态化】","崮山路322弄15号2楼【常态化】","博山路78弄106号102室【常态化】","置汇旭辉【常态化】","置汇旭辉解码23号点【常态化】","南洋泾路灵山路路口(陆家嘴金融街广场)【常态化】","羽山路1000弄25号101室【常态化】","博山路51弄40号【常态化】","张杨路2238弄2号【常态化】","张杨路2600弄3号底楼【常态化】","崮山路919号【常态化】","丰庄居委（筹）【常态化】","栅桥社区党群服务站采样点【常态化】","丰庄西路丰华路采样点【常态化】","丰西社区党群服务站采样点【常态化】","金沙社区党群服务站采样点【常态化】","新郁社区党群服务站采样点【常态化】","清峪社区党群服务站采样点【常态化】","金鼎社区党群服务站采样点【常态化】","真新社区卫生服务中心【常态化】","新丰社区党群服务站采样点【常态化】","丰二社区党群服务站采样点【常态化】","虬江社区党群服务站采样点【常态化】","鼎秀社区党群服务站采样点【常态化】","丰一社区党群服务站采样点【常态化】","祁连社区党群服务站采样点【常态化】","铜川社区党群服务站采样点【常态化】","吉镇社区党群服务站采样点【常态化】","梅川社区党群服务站采样点【常态化】","金汤社区党群服务站采样点【常态化】","万镇社区党群服务站采样点【常态化】","双河社区党群服务站采样点【常态化】","双河路公共运动场采样点【常态化】","耀华三村家门口服务站   (耀华路579弄128号)【常态化】","济阳三村家门口服务站  (济阳路65弄6号)【常态化】","济阳二村家门口服务站  (耀华路500弄18号)【常态化】","济阳一村家门口服务站  (德州路420弄51号)【常态化】","上钢十村家门口服务站  (西营路33弄6支弄22号)【常态化】","上钢社区卫生服务中心德州七村服务站【常态化】","德州四村家门口服务站  (成山路24弄110号)【常态化】","上钢街道党群服务中心  (德州路380弄1号)【常态化】","上钢七村家门口服务站  (上钢七村48号)【常态化】","上钢社区卫生服务中心【常态化】","上钢社区卫生服务中心德州路采集点【常态化】","上钢六村家门口服务站  (上钢六村6号甲)【常态化】","上钢五村家门口服务站  (上钢五村36号102室)【常态化】","德州三村家门口服务站  (长清路119弄19号)【常态化】","上南花城家门口服务站   (耀华路87弄62号2楼)【常态化】","上钢三村服务站【常态化】","上钢四村家门口服务站  (上钢四村54号)【常态化】","德州六村家门口服务站  (灵岩路56弄68号)【常态化】","德州二村家门口服务站  (德州路255弄35号)【常态化】","上钢二村家门口服务站  (上钢二村38号)【常态化】","上钢一村家门口服务站                    (上钢一村64号)【常态化】","德州五村家门口服务站    (德州路230弄8号)【常态化】","沪东党群中心采集点【常态化】","沪东中环滨江采集点【常态化】","沪东陈家宅居委采集点【常态化】","宝藤沪东中华采样点【常态化】","沪东东二居委采集点【常态化】","沪东浦东大道篮球场采集点-2【常态化】","沪东浦东大道篮球场采集点-1【常态化】","沪东浦东大道篮球场采集点【常态化】","沪东船舶居委采集点【常态化】","沪东伟莱居委采集点【常态化】","沪东东波路跨线桥采集点【常态化】","沪东沪南居委采集点【常态化】","沪东东六居委采集点【常态化】","沪东金桥路825弄采集点【常态化】","宝藤便民采样点宝藤【常态化】","沪东向东居委采集点【常态化】","沪东金浦居委采集点【常态化】","沪东北小区居委采集点【常态化】","沪东朱家门居委采集点【常态化】","沪东东三居委采集点【常态化】","沪东东六嘉屯苑采集点【常态化】","沪东长岛苑居委采集点【常态化】","沪东兰城居委采集点【常态化】","沪东兰城142弄采集点【常态化】","沪东莱阳新家园居委采集点【常态化】","沪东博三居委采集点【常态化】","沪东沪新居委采集点【常态化】","沪东汇佳苑居委采集点【常态化】","沪东金桥路地铁口采集点【常态化】","沪东沪二居委采集点【常态化】","沪东金桥花苑居委采集点【常态化】","沪东寿一居委采集点【常态化】","沪东社区卫生服务中心【常态化】","沪东东四居委采集点【常态化】","沪东博一居委采集点【常态化】","沪东沪一居委采集点【常态化】","沪东莱阳路东波路采集点【常态化】","沪东同方锦城625弄采集点【常态化】","沪东博兴园采集点【常态化】","沪东柳博居委采集点【常态化】","沪东寿二居委采集点【常态化】","沪东璞爱居委采集点【常态化】","沪东锦河苑居委采集点【常态化】","沪东伟锦居委采集点【常态化】","沪东同方锦城居委采集点【常态化】","沪东博兴路地铁口采集点【常态化】","沪东伟业居委采集单-2【常态化】","沪东伟业居委采集单--1【常态化】","沪东江南山水居委采集点【常态化】","沪东东方丽景居委采集点【常态化】","沪东文峰广场采集点【常态化】","罗山二居【常态化】","罗山五居【常态化】","罗山一居【常态化】","罗山三1居【常态化】","罗山四居【常态化】","浦商百货【常态化】","罗山六居【常态化】","居家桥居委【常态化】","罗山三2居【常态化】","宝藤便民采样点-博山东路【常态化】","罗山七居【常态化】","罗山八居【常态化】","黄山三居【常态化】","栖山路1568号-达安9号【常态化】","仁和居委【常态化】","名人花园【常态化】","香山七居【常态化】","香山三居【常态化】","金樟居委【常态化】","黄山二居【常态化】","黄山一居【常态化】","庆宁寺【常态化】","广洋苑居委【常态化】","香山四居【常态化】","始信苑居委【常态化】","灵山路1803号-达安8号【常态化】","金杨一居【常态化】","蝶恋苑【常态化】","香山一居【常态化】","云山路地铁站【常态化】","云山路1080弄党群服务中心-达安44号【常态化】","宝藤便民采样点-金杨路【常态化】","金杨社区卫生服务中心【常态化】","灵山一居【常态化】","黄山新城【常态化】","东方知音【常态化】","灵山三居【常态化】","金口一居【常态化】","金桥瑞士花园【常态化】","枣庄一居【常态化】","金杨二居【常态化】","金桥国际广场【常态化】","银山三居【常态化】","银山一居【常态化】","银山五居【常态化】","金杨四居【常态化】","久金广场【常态化】","金杨六居【常态化】","金杨七居【常态化】","金口二居【常态化】","银山四居【常态化】","金杨社区卫生服务中心分中心【常态化】","金杨八居【常态化】","宝藤便民采样点-金桥路【常态化】","金台一居【常态化】","金台二居【常态化】","金台三居【常态化】","宝藤便民采样点【常态化】","银桥居委会【常态化】","智选假日酒店【常态化】","金东居委会【常态化】","金鑫居委会【常态化】","龙臣居委会【常态化】","浦一居委会【常态化】","浦三居委会【常态化】","开元骨科医院【常态化】","浦二居委会【常态化】","金桥居委会【常态化】","东五居委会【常态化】","台儿庄居委会【常态化】","长岛居委会【常态化】","金鹏居委会【常态化】","金桥大拇指广场【常态化】","东荷居委会【常态化】","中大居委会【常态化】","平度居委会【常态化】","凌六居委会【常态化】","荷一居委会【常态化】","凌四居委会【常态化】","金桥湾居委会【常态化】","东二居委会【常态化】","双桥卫生服务站【常态化】","凌五居委会【常态化】","证二居委会【常态化】","东一居委会【常态化】","新馨白领公寓【常态化】","胶二居委会【常态化】","凌三居委会【常态化】","荷三居委会【常态化】","凌二居委会【常态化】","浦兴社区卫生服务中心【常态化】","东三居委会【常态化】","金泽苑居委会【常态化】","荷五居委会【常态化】","胶一居委会【常态化】","凌七居委会【常态化】","浦兴路社区党群服务中心【常态化】","牟平居委会【常态化】","证一居委会【常态化】","巨峰居委会【常态化】","凌一居委会【常态化】","凌八居委会【常态化】","东四居委会【常态化】","供销联社华泰医药【常态化】","雪野路地产集团门口【常态化】","西三里桥居委会( 南码头路32-2号)【常态化】","新桥居委会(港机新村45号)【常态化】","塘南居委会(东三街3号 )【常态化】","世博村路300号对面广场【常态化】","银河居委会(沂南路38号103室)【常态化】","临沂公园(东方路3683号)【常态化】","港机新村居委会(华丰路50弄29号 )【常态化】","东三里桥居委会(东三街114号)【常态化】","东三服务站【常态化】","市民中心广场(南码头路400号)【常态化】","临沂三村居委会(南码头路450弄57号)【常态化】","沂南路居委会(沂南路70号)【常态化】","浦南医院【常态化】","临沂二村居委会(浦三路12弄18号 )【常态化】","胶南路居委会(东三里桥路170弄12临)【常态化】","临沂五村居委会(临沂路381弄27号103室)【常态化】","临沂六村居委会(临沂路181弄167号 )【常态化】","临沂路一村门口小广场【常态化】","银亿广场(浦三路21弄)【常态化】","临沂路140号百联购物广场【常态化】","临沂一村居委会(临沂一村126号乙 )【常态化】","东方路3465弄1号天健滨江天地【常态化】","临沂七村居委会(临沂路101弄1号101室 )【常态化】","临沂路东三里桥路口小广场【常态化】","临沂八村第一居委会(临沂路81弄7号101室)【常态化】","六里第一居委会(浦三路628弄16号)【常态化】","金星居委会(临沂路8弄34号101室)【常态化】","龙馥居委会(临沂路61弄55号一楼 )【常态化】","南码头社区卫生服务中心【常态化】","振华企业广场(东方路3261号)【常态化】","六里第四居委会(浦三路858弄8号楼底旁1楼)【常态化】","东方金融园广场(东方路2981号)【常态化】","临沂八村第二居委会(东方路2880弄1号108室)【常态化】","鹏欣居委会(东方路2885号 )【常态化】","六里第二居委会(齐恒路118弄18号)【常态化】","党建广场(齐恒路33弄旁)【常态化】","东盛居委会(浦三路821弄1号甲)【常态化】","齐河路齐恒路口【常态化】","东方路龙阳路东方城市花园广场【常态化】","东方城市花园居委会(东方路1881弄23号101室)【常态化】","六里第三居委会(齐恒路99弄58号)【常态化】","六里第五居委会(齐恒路177弄4号101室)【常态化】","建业居委会(杨高南路2030弄74号 )【常态化】","杨高南路1998弄开伦园区【常态化】","由由七居委【常态化】","由由一居委【常态化】","由由六居委【常态化】","由由二居委【常态化】","东城十一居委【常态化】","由由社区卫生服务站【常态化】","严民路荻硕贝肯13号点【常态化】","由由四居委【常态化】","由由五居委【常态化】","东城五居委【常态化】","前程居委【常态化】","锦绣路荻硕贝肯便民14号点【常态化】","东城九居委【常态化】","由由八居委【常态化】","东城六居委【常态化】","东城七居委【常态化】","东城社区卫生服务站【常态化】","东城四居委【常态化】","东建路荻硕贝肯10号点【常态化】","东城八居委【常态化】","东城十居委【常态化】","浦东青少年活动中心解码15号点【常态化】","东城三居委【常态化】","浦东图书馆【常态化】","牡丹一居委【常态化】","东城二居委【常态化】","花木街道党群服务中心【常态化】","东城一居委【常态化】","兰庭居委【常态化】","牡丹四居委【常态化】","牡丹七居委【常态化】","牡丹二居委【常态化】","玉兰南广场【常态化】","御庭居委【常态化】","花木社区卫生服务中心【常态化】","牡丹五居委【常态化】","牡丹八居委【常态化】","联洋二居委【常态化】","牡丹六居委【常态化】","培花一居委【常态化】","培花六居委【常态化】","联洋七居委【常态化】","万邦居委【常态化】","牡丹九居委【常态化】","联洋一居委【常态化】","牡丹三居委【常态化】","培花二居委【常态化】","培花七居委【常态化】","麦德龙【常态化】","麦德龙解码13号点【常态化】","大拇指广场-金域-5【常态化】","培花三居委【常态化】","联洋四居委【常态化】","联洋社区卫生服务中心【常态化】","培花四居委【常态化】","嘉里城解码14号点【常态化】","嘉里城【常态化】","培花社区卫生服务站【常态化】","联洋六居委【常态化】","培花八居委【常态化】","联洋五居委【常态化】","联洋三居委【常态化】","钦洋社区卫生服务站【常态化】","培花九居委【常态化】","宝藤采样点(上海瑞东医院)【常态化】","湖庭居委【常态化】","世茂湖滨居委【常态化】","蓝天居委【常态化】","明月居委【常态化】","罗森广场荻硕贝肯11号点【常态化】","浦东青少年活动中心【常态化】","赵行村赵瓦路南赵家宅38号【常态化】","川沙新镇赵行中心村卫生室【常态化】","川沙新镇棋杆中心村卫生室【常态化】","黄楼村川周公路6049号【常态化】","川沙新镇黄楼村卫生室【常态化】","川沙新镇栏杆中心村卫生室【常态化】","栏杆村栏学路185号【常态化】","舒馨居民区新德西路508弄83号【常态化】","黄楼卫生服务站【常态化】","德馨居民区德川路259弄233号【常态化】","黄楼居民区黄楼栏学路398号【常态化】","川沙华夏社区卫生服务中心【常态化】","长丰村城丰路1099弄【常态化】","川沙新镇长丰村卫生室【常态化】","万馨居民区新德西路183号【常态化】","沙田居民区华夏东路1298弄3号【常态化】","新德西路100弄【常态化】","川沙新镇金家中心村卫生室【常态化】","华宇居民区城丰路567号【常态化】","界龙社区卫生服务站【常态化】","界龙村界龙大道285号【常态化】","申华居民区华夏二路338号【常态化】","玉宇居民区城丰路288弄48号【常态化】","对面村华夏东路1799弄1号【常态化】","玉兰居民区青厦路200弄1号【常态化】","馨宇居民区华夏二路728弄8号2楼【常态化】","川沙新镇六灶社区连民村卫生室【常态化】","川沙新镇六灶社区其成村卫生室【常态化】","川沙新镇六灶社区七星村卫生室【常态化】","妙华居民区华夏一路169号【常态化】","妙龙居民区川银路150弄22号【常态化】","妙境居民区华城路88号【常态化】","川银卫生服务站【常态化】","新春村新春路18号【常态化】","妙境村妙境路205号2楼【常态化】","川沙新镇六灶社区陈桥村卫生室【常态化】","川迪三居民区华夏二路1255弄35号【常态化】","明珠居民区新德路681弄22号【常态化】","妙兰居民区川环南路1155弄14号【常态化】","妙境路635号(妙境菜场)【常态化】","川迪二居民区华夏二路1500弄45号【常态化】","华盛居民区城西路245号【常态化】","川迪一居民区华夏二路1455弄35号【常态化】","川沙新镇新春中心村卫生室【常态化】","浦东川沙新镇妙境路1118号家乐福川沙店【常态化】","新德居民区华夏东路2110弄48号【常态化】","川沙客运站荻硕贝肯7号点【常态化】","妙境路1000号(公交公司)【常态化】","新苑居民区新川路640弄41号【常态化】","妙港居民区川环南路1004号【常态化】","城西川北居民区华夏东路2170弄15号【常态化】","川沙社区卫生服务中心【常态化】","妙城居民区城南路550弄37号【常态化】","杜坊村杜新路88号【常态化】","翔云居民区翔川路458弄73号【常态化】","川沙新镇杜坊村卫生室【常态化】","园西居民区川沙路5122弄56号【常态化】","侨光卫生服务站【常态化】","川沙新镇六灶社区民义村卫生室【常态化】","鹿城居民区六灶花苑路1号【常态化】","鹿达路28号汇领商墅广场【常态化】","临园居民区川沙路5015弄23号【常态化】","城南村川沙路5285号【常态化】","侨光居民区华夏东路2454弄60号【常态化】","佳华居民区妙川路300弄20号3楼【常态化】","西市居民区三灶浜路105号【常态化】","川沙新镇六灶社区果园村卫生室【常态化】","川沙新镇纯新村卫生室【常态化】","桃园居民区南桥路459弄28号【常态化】","纯新村龄南路429号【常态化】","新川居民区新川路279弄31号103室【常态化】","南桥居民区城南路368弄6号【常态化】","浦东新区人民医院采样点1【常态化】","浦东新区人民医院采样点2【常态化】","南高桥村四队薛家宅航校路40号【常态化】","南市居民区兰芬堂71号【常态化】","川沙新镇牌楼中心村卫生室【常态化】","南佳居民区妙川路800弄112号1楼【常态化】","城南居民区城南路293弄7号【常态化】","东市居民区东门街153号【常态化】","鹿新居民区六灶崇溪路76号【常态化】","曙光居民区曙光路95弄1号201室【常态化】","虹馨居民区川周路8288弄55号4楼【常态化】","六灶吉春路(六灶健身公园)【常态化】","妙川路950号【常态化】","川沙新镇虹桥村卫生室【常态化】","虹桥村川六公路27号【常态化】","曙光卫生服务站【常态化】","川沙新镇六灶社区鹿溪村卫生室【常态化】","川宏路528号【常态化】","六灶社区卫生服务中心【常态化】","川沙新镇陈行中心村卫生室【常态化】","川沙新镇六灶社区会龙村卫生室【常态化】","陈行村川六公路409号【常态化】","川沙新镇七灶中心村卫生室【常态化】","新虹居民区妙川路1111弄3号【常态化】","虹宇居民区华萃路451号2楼【常态化】","妙虹居民区妙川路1032号2楼【常态化】","八灶村川六公路1185号【常态化】","川沙新镇八灶村卫生室【常态化】","川沙新镇六灶社区新吉村卫生室【常态化】","吴店村吴店路288号【常态化】","川沙新镇吴店中心村卫生室【常态化】","川沙新镇六灶社区汤店村卫生室【常态化】","汤店村大川公路618号【常态化】","普庆路上海市六团中学东北侧约110米(六团菜市场)【常态化】","川沙新镇高桥村卫生室【常态化】","高桥村高桥路58号【常态化】","普新居民区普园路3号【常态化】","川沙新镇柴场村卫生室【常态化】","柴场村4队徐家宅36-38号【常态化】","川沙社区卫生服务中心六团分中心【常态化】","川东居民区营洪路1258号54号【常态化】","川沙新镇和平村卫生室【常态化】","湾镇村川六公路1965号【常态化】","川沙新镇湾镇村卫生室【常态化】","川沙新镇民利村卫生室【常态化】","民利村孙家宅219号【常态化】","和平村朱家宅9号【常态化】","川沙新镇储店村卫生室【常态化】","川沙新镇长桥村卫生室【常态化】","华路村李家宅38号【常态化】","川沙新镇华路中心村卫生室【常态化】","储店村储七路1653号【常态化】","川沙新镇大洪村卫生室【常态化】","川沙新镇新浜中心村卫生室【常态化】","新浜村新园路99号【常态化】","川沙新镇杜尹村卫生室【常态化】","杜尹村川六公路2715弄108号【常态化】","益华居委【常态化】","合庆社区卫生服务中心【常态化】","庆南居委【常态化】","庆东居委【常态化】","庆华居委【常态化】","蔡路居委【常态化】","朝阳村徐家宅186号(会所)-达安25号【常态化】","合庆镇向阳村卫生室【常态化】","合庆镇勤昌村卫生室【常态化】","合庆镇友谊村卫生室【常态化】","合庆镇友谊服务站【常态化】","合庆镇春雷村卫生室【常态化】","庆利居委【常态化】","泛亚汽车金桥园区【常态化】","金穗路1055号门口【常态化】","共新村【常态化】","上川路620号(金羽公寓)【常态化】","新市镇社区-达安39号【常态化】","新市镇社区【常态化】","阳光苑二居委【常态化】","阳光苑居委【常态化】","美地芳邻苑【常态化】","金海路2536号(金泰广场、地铁站)【常态化】","阳光苑三、四居委会【常态化】","工业园区采样点【常态化】","曹路社区卫生服务分中心(阳光苑)【常态化】","民建村【常态化】","台达电子园区采样点【常态化】","曹路居委【常态化】","顾路居委【常态化】","万科蓝山居委【常态化】","民风路151号【常态化】","顾路社区文化广场【常态化】","曹路社区卫生服务中心分中心【常态化】","丰舍苑居委【常态化】","曹路镇政府对面街心花园-达安40号【常态化】","金海社区文化活动中心【常态化】","金群路28号-达安41号【常态化】","东田市场西街心花园【常态化】","金群苑居委【常态化】","星纳家园居委【常态化】","曹路镇日新村卫生室【常态化】","川沙路718号(魔方公寓)【常态化】","中虹家苑居委【常态化】","日新村家门口【常态化】","华美新苑居委【常态化】","舜峰家苑居委【常态化】","新市镇公司【常态化】","海尚东苑居委家门口【常态化】","星颂家园居委【常态化】","上川路金钻路(恒越广场)【常态化】","佳伟景苑居委【常态化】","顾三村【常态化】","曹路镇社区党群服务中心【常态化】","金晓卫生服务站【常态化】","兴东村【常态化】","海鹏居委【常态化】","悦虹雅苑居委【常态化】","星金家园居委【常态化】","直一村家门口【常态化】","星海家园居委【常态化】","金钻苑居委【常态化】","建新村【常态化】","曹路社区卫生服务中心【常态化】","丰怡苑居委【常态化】","永华苑居委【常态化】","龚新居委【常态化】","康平家园居委【常态化】","银丰苑居委【常态化】","龚路居委【常态化】","星丰家园居委【常态化】","迅建村【常态化】","星火村【常态化】","永利村【常态化】","永和永利村委会【常态化】","前锋村【常态化】","曹路镇永丰村卫生室【常态化】","星火村三队【常态化】","新星村【常态化】","锦绣东路4655号【常态化】","高东二居(光泽路120弄21号)【常态化】","高东新村(光明路182弄180号)【常态化】","新高苑三居(高宝路68弄71号)【常态化】","益海嘉里(高东路与航津路向西200米)【常态化】","新高苑居委(高宝路229弄108号)【常态化】","千秋嘉苑(高东二路47弄62号)【常态化】","机关事业(光明路718号)【常态化】","新高苑二居(高宝路379弄14号)【常态化】","楼夏景园(北新园路350弄1号)【常态化】","品欣雅苑(高东二路118弄23号)【常态化】","宝佳苑(高宝路528弄38号)【常态化】","杨园四居(新龙路69弄40号)【常态化】","高东社区卫生服务中心【常态化】","工业园区企业点位(高翔环路318号)【常态化】","上游村(园三路100号)【常态化】","杨园一居(新龙路489弄29号)【常态化】","杨园二居(新跃路154弄3幢7号)【常态化】","杨园体育公园(园二路新园路路口)【常态化】","先锋居委(镇南路168号)【常态化】","外高桥船厂(高东二路华东路路口)【常态化】","华东路98号【常态化】","海通路75号【常态化】","港绣路199号【常态化】","申东路与东川公路交叉口解码4号点【常态化】","港建路与明五路交叉口解码3号点【常态化】","白银社区便民采样点2【常态化】","希望社区便民采样点1【常态化】","上海同合骨科医院【常态化】","白银社区便民采样点1【常态化】","众芳社区便民采样点2【常态化】","希望社区便民采样点2【常态化】","马陆社区便民采样点2【常态化】","众芳社区党群服务中心便民采样点【常态化】","马陆社区便民采样点1【常态化】","彭赵村便民采样点【常态化】","陆家社区便民采样点2【常态化】","石冈社区便民采样点【常态化】","复华社区党群服务站便民采样点【常态化】","仓场村便民采样点1【常态化】","马陆镇社区党群服务中心便民采样点【常态化】","唐家苑社区党群服务站便民采样点【常态化】","立新村便民采样点2【常态化】","彭赵村党群服务站便民采样点【常态化】","仓场村便民采样点2【常态化】","立新村党群服务站便民采样点【常态化】","陆家社区便民采样点1【常态化】","樊家村便民采样点【常态化】","马陆镇社区卫生服务中心戬浜分中心【常态化】","立新村便民采样点1【常态化】","戬浜村便民采样点1【常态化】","樊家村党群服务站便民采样点【常态化】","包桥村党群服务点便民采样点【常态化】","大宏村便民采样点【常态化】","戬浜村便民采样点2【常态化】","北管村便民采样点2【常态化】","大宏村党群服务站便民采样点【常态化】","北管村便民采样点1【常态化】","陈村村便民采样点【常态化】","李家村党群服务站便民采样点【常态化】","陈村村党群服务站便民采样点【常态化】","李家村便民采样点【常态化】","封周支路北区采样点【常态化】","封周支路南区采样点【常态化】","马陆社区便民采样点3【常态化】【常态化】","马东园区采样点【常态化】","包桥村便民采样点【常态化】","高桥镇三岔港村卫生室【常态化】","高桥镇仓房村卫生室【常态化】","高桥镇新益村卫生室【常态化】","高桥镇龙叶村卫生室【常态化】","高桥镇西新村卫生室【常态化】","凌桥六居家门口服务站【常态化】","高桥镇凌桥村卫生室【常态化】","浦凌佳苑家门口服务站【常态化】","凌桥四居家门口服务站【常态化】","凌桥五居家门口服务站【常态化】","凌桥二居家门口服务站【常态化】","凌桥社区卫生服务中心【常态化】","凌桥居委家门口服务站【常态化】","凌桥三居家门口服务站【常态化】","高桥镇顾家圩村卫生室【常态化】","高桥镇新农村卫生室【常态化】","陆凌居委家门口服务站【常态化】","高桥镇陆凌村卫生室【常态化】","高桥镇屯粮巷村卫生室【常态化】","高桥镇南塘村卫生室【常态化】","潼港六村家门口服务站【常态化】","高桥镇和祥佳园服务站【常态化】","上炼一村家门口服务站【常态化】","潼港西八村家门口服务站【常态化】","潼港三村家门口服务站【常态化】","潼港八村家门口服务站【常态化】","高桥上炼服务站【常态化】","潼港五村家门口服务站【常态化】","潼港二村家门口服务站【常态化】","清溪路世纪联华广场仁东15号点【常态化】","高桥新城服务站【常态化】","潼港四村家门口服务站【常态化】","镇北村家门口服务中心【常态化】","宝藤(集卡司机服务点)1【常态化】","潼港一村家门口服务站【常态化】","高桥新村家门口服务站【常态化】","宝藤(集卡司机服务点)2【常态化】","高桥社区卫生服务中心【常态化】","高桥镇社区党群服务中心仁东14号点【常态化】","上海市第七人民医院【常态化】","新城二居家门口服务站【常态化】","高桥西街服务站【常态化】","海高居委家门口服务站【常态化】","西街长兴馆边广场仁东17号点【常态化】","港城新苑家门口服务站【常态化】","港华路解码6号点【常态化】","南街居委家门口服务站【常态化】","金高居委家门口服务站【常态化】","学前居委家门口服务站【常态化】","东街居委家门口服务站【常态化】","富特五村家门口服务站【常态化】","夏碧路高桥镇慈善超市仁东16号点【常态化】","富特四村家门口服务站【常态化】","高桥永久服务站【常态化】","富特三村家门口服务站【常态化】","海徐路解码5号点【常态化】","高桥镇北新村卫生室【常态化】","东沟一居家门口服务站【常态化】","东沟居委家门口服务站【常态化】","东沟四居家门口服务站【常态化】","东沟二居家门口服务站【常态化】","高行社区卫生服务中心东沟门诊部采样点【常态化】","东沟三居家门口服务站【常态化】","海韵居委家门口服务站【常态化】","高行社区卫生服务中心周桥村卫生室采样点【常态化】","高申居委家门口服务站【常态化】","高行社区卫生服务中心南新服务站采样点【常态化】","森兰新城家门口服务站【常态化】","森兰海弘家门口服务站【常态化】","浦江居委家门口服务站【常态化】","森兰尚城家门口服务站【常态化】","华庭居委家门口服务站【常态化】","森兰金地家门口服务站【常态化】","东旭居委家门口服务站【常态化】","欣韵居委家门口服务站【常态化】","南新居委家门口服务站【常态化】","五洲大道枢纽站-金域-7【常态化】","绿洲二居家门口服务站【常态化】","森兰名轩家门口服务站【常态化】","森兰商都采样点【常态化】","绿洲四居家门口服务站【常态化】","森兰仁恒家门口服务站【常态化】","绿洲一居家门口服务站【常态化】","森兰绿城家门口服务站【常态化】","绿洲三居家门口服务站【常态化】","华高三居家门口服务站【常态化】","创业园区采样点【常态化】","高行居委家门口服务站【常态化】","华高四居家门口服务站【常态化】","银杏居委家门口服务站【常态化】","幸福小镇家门口服务站【常态化】","紫翠居委家门口服务站【常态化】","绿地居委家门口服务站【常态化】","高行镇党群服务中心【常态化】","高行二居家门口服务站【常态化】","高行镇华高社区文化活动中心旁仁东13号点【常态化】","华高一居家门口服务站【常态化】","高行社区卫生服务中心华高服务站采样点【常态化】","东力居委家门口服务站【常态化】","碧云路宝藤便民采样点【常态化】","供销联社华泰医药【常态化】","碧云社区卫生服务站【常态化】","碧云一居家门口服务站【常态化】","供销联社华泰医药新金桥【常态化】","浦东新区妇幼保健院【常态化】","中欧国际工商学院【常态化】","金浦居民区家门口服务站【常态化】","三桥村村委会-达安13号【常态化】","卜蜂莲花停车场【常态化】","阳光一居家门口服务站【常态化】","金桥新城居民区家门口服务站【常态化】","张桥居民区家门口服务站【常态化】","阳光二居家门口服务站【常态化】","金桥社区卫生服务中心【常态化】","党群服务中心(含永业一居二居家门口服务站)【常态化】","城市家园居民区家门口服务站【常态化】","佳虹居民区家门口服务站【常态化】","慧智公寓【常态化】","上海金申华检门诊部-宝藤采样点【常态化】","金葵二居家门口服务站【常态化】","金葵一居家门口服务站【常态化】","金葵社区卫生服务站【常态化】","金葵【常态化】","金葵三居家门口服务站【常态化】","王家桥村家门口服务站【常态化】","彩云路宝藤便民采样点【常态化】","朗阅府邻里中心【常态化】","碧波路居委【常态化】","汤臣高尔夫社工站【常态化】","张江地铁站公交枢纽-金域-12【常态化】","上海中医药大学附属曙光医院【常态化】","上海中医药大学附属曙光医院【常态化】","钱堂村【常态化】","科苑路居委【常态化】","晨晖路居委【常态化】","藿香路居委【常态化】","汇智商业中心解码25号点【常态化】","长泰广场检测点【常态化】","亮秀路居委【常态化】","张江镇韩荡村卫生室【常态化】","荣科路居委【常态化】","百业路智慧云广场【常态化】","张江镇古桐服务站【常态化】","川和路居委【常态化】","田园路居委【常态化】","古桐居委【常态化】","张江镇香楠路服务站【常态化】","汤臣豪庭居委【常态化】","紫薇公园-达安33号【常态化】","张江镇科技广场-达安14号【常态化】","金桐居委【常态化】","城市经典居委【常态化】","广兰公园-达安34号【常态化】","中芯花园社工站【常态化】","江兰居委【常态化】","江春居委【常态化】","江薇居委【常态化】","华晶居委【常态化】","华顺居委【常态化】","华阅居委(筹)【常态化】","江益居委【常态化】","樟盛苑居委【常态化】","张江镇党群服务中心【常态化】","江夏居委【常态化】","孙建路居委【常态化】","张江镇沔北村卫生室【常态化】","江丰居委【常态化】","张江镇劳动村卫生室【常态化】","益江路商业广场-达安35号【常态化】","孙桥社区卫生服务中心【常态化】","孙桥路居委【常态化】","高木桥路居委【常态化】","张江镇耀泓生活广场-达安36号【常态化】","江衡居委【常态化】","耀泓生活广场【常态化】","孙耀路居委【常态化】","勤政路居委(筹)【常态化】","张江镇川杨新苑卫生服务站【常态化】","军民路居委【常态化】","江苑居委【常态化】","高科中路2860号家乐福张江店【常态化】","孙环路居委【常态化】","孙桥社区【常态化】","张江镇长元村卫生室【常态化】","张江镇中心村卫生室【常态化】","孙环路613号-达安26号【常态化】","中心村“家门口”服务站【常态化】","张江镇新丰村卫生室【常态化】","环东中心村“家门口”服务站【常态化】","张江镇环东村卫生室【常态化】","唐城绿地文化公园(供销联社华泰医药)【常态化】","金爵居委(供销联社华泰医药)【常态化】","唐丰苑居委(供销联社华泰医药)【常态化】","恒生万鹂解码19号点【常态化】","保利居委(供销联社华泰医药)【常态化】","东唐苑居委(供销联社华泰医药)【常态化】","绿墅居委(筹)(供销联社华泰医药)【常态化】","泛亚汽车唐镇园区【常态化】","瀚盛居委(供销联社华泰医药)【常态化】","唐镇阳光天地-达安5号【常态化】","阳光天地解码20号点【常态化】","金唐居委(供销联社华泰医药)【常态化】","齐爱居委(供销联社华泰医药)【常态化】","绿波苑居委(供销联社华泰医药)【常态化】","诚礼居委(筹)(供销联社华泰医药)【常态化】","卡园二路108号仁东18号点【常态化】","培元居委(筹)(供销联社华泰医药)【常态化】","供销联社华泰医药-顾唐路【常态化】","上丰居委(供销联社华泰医药)【常态化】","浦华居委(筹)(供销联社华泰医药)【常态化】","天歌居委(供销联社华泰医药)【常态化】","同馨苑居委(供销联社华泰医药)【常态化】","供销联社华泰医药-上丰路【常态化】","王港居委(供销联社华泰医药)【常态化】","金枫居委(供销联社华泰医药)【常态化】","王港社区卫生服务中心【常态化】","金盛居委(供销联社华泰医药)【常态化】","同福居委(供销联社华泰医药)【常态化】","暮紫桥居委(供销联社华泰医药)【常态化】","阳光城阳光天地【常态化】","南江苑居委【常态化】","同福一居【常态化】","北蔡社区盒马杨高南路店【常态化】","振东一居【常态化】","大华七居【常态化】","大华九居【常态化】","艾东居委【常态化】","大华八居【常态化】","艾南花苑居委【常态化】","艾南居委【常态化】","北蔡锦尊卫生服务站【常态化】","大华六居【常态化】","春夏居委【常态化】","上海君康医院【常态化】","金旋居委【常态化】","大华三居【常态化】","大华四居【常态化】","南杨居委【常态化】","顾全路广场仁东4号点【常态化】","南新六居【常态化】","锦华居委【常态化】","下西浜居委【常态化】","大华一居【常态化】","浦东群艺馆-金域-15【常态化】","大华二居【常态化】","北蔡南新卫生服务站【常态化】","南新七居【常态化】","南新四居【常态化】","下南居委【常态化】","天池居委【常态化】","南新一居【常态化】","博华居委【常态化】","陈桥居委【常态化】","安建居委【常态化】","绿川四居【常态化】","香溢居委【常态化】","北蔡卫生绿川服务站【常态化】","绿川三居【常态化】","海东居委【常态化】","绿川一居【常态化】","紫叶居委【常态化】","绿川二居【常态化】","北蔡社区卫生服务中心【常态化】","和平居委【常态化】","北蔡莲安卫生服务站【常态化】","莲安居委【常态化】","鹏海八居【常态化】","香花居委【常态化】","虹南居委【常态化】","龙博居委【常态化】","鹏海七居【常态化】","鹏海六居【常态化】","莲中居委【常态化】","北蔡莲东卫生服务站【常态化】","莲溪八居【常态化】","莲溪四居【常态化】","鹏海一居【常态化】","莲溪一居【常态化】","莲溪九居【常态化】","鹏海四居【常态化】","莲溪六居【常态化】","世纪联华御桥店仁东3号点【常态化】","龙港居委【常态化】","鹏海二居【常态化】","复地活力城解码10号点【常态化】","北蔡企业园区莲溪路检测点【常态化】","鹏海三居【常态化】","御桥六居【常态化】","御桥四居【常态化】","THE hood开新里仁东5号点【常态化】","民乐居委【常态化】","御桥一居【常态化】","御桥三居【常态化】","御桥二居【常态化】","上海市第一妇婴保健院(浦东院区)【常态化】","紫丁香居民区家门口服务站【常态化】","晶耀前滩西区广场采样点【常态化】","晶耀前滩解码17号点【常态化】","前滩紫茉莉居委家门口服务站【常态化】","三林镇前滩紫薇居民区家门口服务站【常态化】","前滩太古里下沉广场-金域-14【常态化】","宝藤三杨新村居民区家门口服务站【常态化】","宝藤华城居民区家门口服务站【常态化】","宝藤新华居民区家门口服务站【常态化】","长清路第一居民区家门口服务站【常态化】","长清路第二居民区家门口服务站【常态化】","金苹果花园居民区家门口服务站【常态化】","杨新居民区家门口服务站【常态化】","思浦居民区家门口服务站【常态化】","南街居民区家门口服务站【常态化】","浦南文化馆-金域-6【常态化】","北街居民区家门口服务站【常态化】","海阳路居民区家门口服务站【常态化】","三林镇北街服务站【常态化】","士韵家园第二居民区家门口服务站【常态化】","杨南第二居委家门口服务站【常态化】","三林党群服务中心-金域-21【常态化】","三林社区卫生服务中心卫生室【常态化】","三林镇三林村卫生室【常态化】","三林社区卫生服务中心(三林老年护理院)【常态化】","仁文居民区家门口服务站【常态化】","东明联丰家门口服务中心【常态化】","士韵家园居民区家门口服务站【常态化】","杨南居民区家门口服务站【常态化】","绿波家园居民区家门口服务站【常态化】","申江豪城家门口服务站【常态化】","杨思医院【常态化】","和炯服务站【常态化】","三林新村第五居民区家门口服务站【常态化】","杨思路第一居民区家门口服务站【常态化】","三林老街居民区家门口服务站【常态化】","三林四居居民区家门口服务站【常态化】","城林美苑居民区家门口服务站【常态化】","三林三居家门口服务站【常态化】","永泰路灵岩南路西侧小广场-金域-19【常态化】","山水苑居民区家门口服务站【常态化】","同康苑居民区家门口服务站【常态化】","杨思路第三居民区家门口服务站【常态化】","杨思二居家门口服务站【常态化】","东方懿德城-金域-13【常态化】","玲珑苑居民区家门口服务站【常态化】","翰城居民区家门口服务站【常态化】","城林雅苑居民区家门口服务站【常态化】","香樟园居民区家门口服务站【常态化】","杨东居民区家门口服务站【常态化】","德康苑家门口服务站【常态化】","三林社区卫生服务中心便民点【常态化】","依水园第二居民区家门口服务站【常态化】","翰城服务站【常态化】","依水园居民区家门口服务站【常态化】","懿德第二居民区家门口服务站【常态化】","三林康德社区卫生服务中心【常态化】","三林二居家门口服务站【常态化】","尚东居民区家门口服务站【常态化】","三林博学家园居民区家门口服务站【常态化】","三林镇三民胡巷村卫生室【常态化】","三林镇懿德村卫生室【常态化】","天花庵中心村卫生室【常态化】","世博家园第五居民区家门口服务站【常态化】","三林镇新里程服务站【常态化】","三林镇东明村卫生室【常态化】","世博四居居民区家门口服务站【常态化】","永泰路第六居民区家门口服务站【常态化】","明丰花苑居民区家门口服务站【常态化】","解码【常态化】","世博家园南二居民区家门口服务站【常态化】","永泰路第五居民区家门口服务站【常态化】","迎博社区卫生服务中心【常态化】","世博三居居民区家门口服务站【常态化】","世博西一家门口服务站【常态化】","世博家园社区卫生服务站【常态化】","永泰路第二居民区家门口服务站【常态化】","世博北二居民区家门口服务站【常态化】","世博东一居民区家门口服务站【常态化】","永泰路第四居民区家门口服务站【常态化】","永泰路第一居民区家门口服务站【常态化】","东泰林路公交枢纽站-金域-20【常态化】","惠南镇徐庙村卫生室【常态化】","惠南镇陶桥村卫生室【常态化】","大润发南汇店解码16号点【常态化】","惠康一居委【常态化】","禹洲荻硕贝肯6号点【常态化】","惠康二居委【常态化】","宝业居委宣黄公路【常态化】","宝业居委【常态化】","惠民居委【常态化】","惠益居委【常态化】","西城居委【常态化】","惠园居委【常态化】","惠南镇西门村卫生室【常态化】","汇南村【常态化】","泰燕居委【常态化】","荣春苑居委【常态化】","丽和居委筹建组【常态化】","建欣苑居委筹建组【常态化】","秀园西苑【常态化】","惠南镇长江村卫生室【常态化】","朗馨苑居委【常态化】","听北居委【常态化】","南园居委【常态化】","文竹居委筹建组【常态化】","兰丽苑居委【常态化】","泓康居委筹建组【常态化】","听南居委/听彩居委【常态化】","汇雅苑居委【常态化】","康锦苑居委【常态化】","鸿飞居委筹建组【常态化】","卫星居委【常态化】","南门居委家门口服务站【常态化】","西门居委【常态化】","惠南镇英雄村卫生室【常态化】","上海市浦东新区眼病牙病防治所【常态化】","供销联社华泰医药惠南店【常态化】","北门居委【常态化】","丽水雅苑居委【常态化】","惠南镇永乐村卫生室【常态化】","惠城居委【常态化】","梅花居委【常态化】","东门居委【常态化】","惠南地铁站-金域-2【常态化】","颐景园居委【常态化】","供销联社华泰医药华惠店【常态化】","光明中医医院【常态化】","迎薰居委【常态化】","迎薰居委-迎薰路【常态化】","迎薰居委-南团公路【常态化】","海燕居委【常态化】","惠桐居委筹建组【常态化】","惠南镇黄路村卫生室【常态化】","南城居委【常态化】","惠南社区世纪联华便民采样点【常态化】","靖海居委会【常态化】","荡湾服务站【常态化】","绿城居委【常态化】","东城居委会【常态化】","明光居委会【常态化】","勤丰村村委会【常态化】","浦东文化艺术指导中心-金域-10【常态化】","学海居委会【常态化】","红光居委会【常态化】","东城居委【常态化】","惠南镇幸福村卫生室【常态化】","黄路村【常态化】","供销联社华泰医药黄路店【常态化】","东盛居委【常态化】","远洋万和居委【常态化】","丰海居委家门口服务站-达安17号【常态化】","远洋万和居委会【常态化】","陆路村村委会【常态化】","惠南镇同治村卫生室【常态化】","德盈居委家门口服务站【常态化】","惠南镇远东村卫生室【常态化】","东征村【常态化】","达安便民采样点【常态化】","新场镇坦西村卫生室【常态化】","新场镇果园村卫生室【常态化】","笋北居委【常态化】","供销联社华泰医药新场店【常态化】","新场镇仁义村卫生室【常态化】","新场镇新卫村卫生室【常态化】","笋南卫生服务站【常态化】","石笋居委【常态化】","供销联社华泰医药新场二店【常态化】","新场镇新场村卫生室【常态化】","新场社区卫生服务中心坦直分中心【常态化】","新场镇新南村卫生室【常态化】","新场社区卫生服务中心【常态化】","南大居委【常态化】","工农居委【常态化】","新场镇坦直卫生室【常态化】","供销联社华泰医药坦直店【常态化】","新场镇坦南村卫生室【常态化】","新场社区卫生服务中心1【常态化】","东城三居【常态化】","东城二居【常态化】","新场镇蒋桥村卫生室【常态化】","新场镇王桥村卫生室【常态化】","新场镇坦东村卫生室【常态化】","新场镇祝桥村卫生室【常态化】","新场镇众安村卫生室【常态化】","新场镇金建村卫生室【常态化】","园通路128号【常态化】","大团镇果园村卫生室【常态化】","大团镇邵村村卫生室【常态化】","大团镇团西村卫生室【常态化】","南大居委“家门口”服务站【常态化】","大团镇党群服务中心【常态化】","大团镇赵桥村卫生室【常态化】","工人文化宫大团分部采样点【常态化】","大团社区卫生服务中心【常态化】","供销联社华泰医药大团店【常态化】","东南居委“家门口”服务站【常态化】","大团镇社区【常态化】","永旺居委【常态化】","大团镇车站村村委会(东大)-达安22号【常态化】","大团镇镇南村卫生室【常态化】","大团镇南村村委会(东南)-达安23号【常态化】","供销联社华泰医药三墩店【常态化】","大团镇团新村卫生室【常态化】","三墩居委“家门口”服务站【常态化】","东大居委“家门口”服务站【常态化】","大团镇园艺村卫生室【常态化】","大团镇车站村卫生室【常态化】","大团镇龙树村卫生室【常态化】","大团镇周埠村卫生室【常态化】","大团镇邵宅村卫生室【常态化】","大团镇金园村卫生室【常态化】","大团镇金石村卫生室【常态化】","大团镇金桥村卫生室【常态化】","永丰村【常态化】","新裕村【常态化】","惠平社区筹建组【常态化】","上海奕检医学检验实验室有限公司采样点【常态化】","永乐村【常态化】","天恩社区【常态化】","华丰社区【常态化】","静华会所【常态化】","红翔村【常态化】","新丰村【常态化】","华猗社区【常态化】","南翔智地A区【常态化】","云翔社区【常态化】","南翔印象城MEGA地铁连廊【常态化】","虹翔社区【常态化】","翔华社区【常态化】","德园社区党群服务站【常态化】","留云社区【常态化】","古猗园路停车场【常态化】","南翔镇社区党群服务中心·南翔镇文体服务中心【常态化】","德华社区党群服务站【常态化】","白鹤社区【常态化】","南翔镇社区卫生服务中心【常态化】","劳动街社区【常态化】","翔北社区【常态化】","芳林社区【常态化】","隽翔社区【常态化】","瑞林社区【常态化】","银翔社区【常态化】","清猗社区【常态化】","金通社区【常态化】","丰翔社区【常态化】","中冶祥腾【常态化】","翔源社区【常态化】","银翔湖类住宅【常态化】","东方伟业广场【常态化】","永翔社区【常态化】","东社区党群服务中心 我嘉·邻里中心【常态化】","小美科技园【常态化】","银翔路市民足球场采样点【常态化】","南翔工业区东区【常态化】","乐惠社区筹建组【常态化】","嘉美社区筹备组【常态化】","云翔大居【常态化】","至本医检所采样点【常态化】","东园社区【常态化】","静华村【常态化】","南翔印象城MEGA【常态化】","嘉绣社区【常态化】","南华社区【常态化】","宝翔社区【常态化】","浏翔村【常态化】","东翔社区筹建组【常态化】","曙光村【常态化】","万达采样点1【常态化】","康泰居委【常态化】","万达荻硕贝肯12号点【常态化】","华庭居委【常态化】","宝藤周浦万达便民采样点【常态化】","南八灶居委【常态化】","澧溪居委【常态化】","御沁园居委【常态化】","果园居委【常态化】","供销联社华泰医药周浦一店【常态化】","小上海新城居委【常态化】","中市居委【常态化】","华城居委【常态化】","周浦镇周源服务站【常态化】","向阳居委【常态化】","供销联社华泰医药华意店【常态化】","丽都苑居委【常态化】","周东居委【常态化】","横桥居委【常态化】","东南居委【常态化】","汇康居委【常态化】","中虹佳园居委【常态化】","周浦镇社区卫生服务中心【常态化】","汇腾居委【常态化】","周东社区【常态化】","汇丽居委【常态化】","欧风居委【常态化】","安居居委【常态化】","中城苑居委【常态化】","瑞阳苑居委【常态化】","繁荣馨苑居委【常态化】","安阁苑居委【常态化】","安阁苑【常态化】","印象春城居委【常态化】","中金海棠湾居委【常态化】","九龙仓居委【常态化】","海棠名苑居委【常态化】","吉祥里居委【常态化】","颐谷苑居委【常态化】","三泰里居委【常态化】","海达居委【常态化】","安康里居委【常态化】","健康里居委【常态化】","祥和里居委会【常态化】","沈梅东路解码26号点【常态化】","平安里居委【常态化】","兴盛里居委【常态化】","昌盛里居委【常态化】","上海泰思特医学检验所【常态化】","广丹路芙蓉花路解码2号点【常态化】","上海博奥颐和医学检验所【常态化】","上海易瑞医学检验所【常态化】","芙蓉花路解码1号点【常态化】","上海仁东医学检验所仁东1号点【常态化】","荻硕贝肯医学检验所1号点【常态化】","红桥村【常态化】","上海太平康复医院【常态化】","上海金域医学检验所【常态化】","康新公路金银花路-金域-8【常态化】","保利艾庐居委【常态化】","申江南路3588号【常态化】","申江南路解码27号点【常态化】","周浦镇界浜村卫生室【常态化】","周浦社区卫生服务中心瓦屑分中心【常态化】","周浦镇瓦南村卫生室【常态化】","周浦镇北庄村卫生室【常态化】","周浦镇棋杆村卫生室【常态化】","华盛里居委【常态化】","航头镇牌楼村卫生室【常态化】","航头镇长达村卫生室【常态化】","航头镇沈庄村卫生室【常态化】","聚航苑居委会【常态化】","良元会所龙丰路2号【常态化】","金地艺华年居委会【常态化】","鹤鸣居委会【常态化】","航头鹤沙社区卫生服务中心【常态化】","瑞浦嘉苑居委会【常态化】","航头镇梅园村卫生室【常态化】","航头镇文化中心-金域-9【常态化】","昱星家园居委会【常态化】","长泰东郊居委会【常态化】","沉香居委会【常态化】","下沙社区【常态化】","昱丽家园居委会【常态化】","金色航城居委会【常态化】","瑞和苑居委会【常态化】","汇康锦苑居委会【常态化】","航头镇沉香村卫生室【常态化】","航头镇丰桥村卫生室【常态化】","恒福家园居委会【常态化】","航头社区卫生服务中心【常态化】","航头镇鹤鸣村卫生室【常态化】","南馨佳苑居委会【常态化】","下沙居委会【常态化】","航武嘉园居委会【常态化】","航头居委会【常态化】","航头商城-金域-1【常态化】","和美苑居委会【常态化】","金沁苑第二居委会【常态化】","金沁苑第一居委会【常态化】","海洲桃花园居委会【常态化】","鹤洁社区卫生服务站【常态化】","航头镇航东村卫生室【常态化】","航头镇鹤东村卫生室【常态化】","东茗苑居委会【常态化】","康乐苑居委会【常态化】","佳和苑筹备组【常态化】","东升家园居委会【常态化】","汇诚佳苑居委会【常态化】","瑞馨苑居委会【常态化】","汇善嘉苑居委会【常态化】","瑞祥苑居委会【常态化】","汇仁馨苑居委会【常态化】","鹤沙航城公交站荻硕贝肯9号点【常态化】","航头镇海桥村卫生室【常态化】","航都路18号【常态化】","航头镇福善村卫生室【常态化】","航头镇王楼村卫生室【常态化】","航头镇果园村卫生室【常态化】","御景居民区【常态化】","香颂居民区【常态化】","林语溪居民区【常态化】","百曲居民区【常态化】","康桥镇天成科创园-达安27号【常态化】","天台居民区【常态化】","秀沿路城置广场-金域-18【常态化】","南华城居民区【常态化】","百林苑【常态化】","兰田公寓(上南路6695号)【常态化】","梓潼居民区【常态化】","上海纳铁福传动系统有限公司康桥工厂【常态化】","康桥大酒店(康桥路1011号)【常态化】","双秀家园居民区【常态化】","新田360(康桥)仁东2号点【常态化】","康桥社区受理中心门口【常态化】","富康居民区【常态化】","康桥镇党群服务中心-金域-16【常态化】","中邦大都会、中邦居民区、营房【常态化】","御青路903号-达安18号【常态化】","公元三村居民区【常态化】","康桥文化中心广场【常态化】","富林广场(秀浦路1114号)【常态化】","城中花园居民区【常态化】","秀沿路大润发-金域-11【常态化】","绿洲康城居民区【常态化】","康桥半岛居民区【常态化】","半岛社区中心【常态化】","康湾苑1(小区)【常态化】","沿北村【常态化】","康湾苑2(自建房小区)【常态化】","康桥月苑居民区【常态化】","昱龙居委(北区)【常态化】","昱龙居委(南区)【常态化】","海尚康庭居民区【常态化】","秀沿路地铁站【常态化】","康桥社区卫生服务中心【常态化】","康桥one园区宝藤便民采样点【常态化】","康沿路泊雅酒店-金域-24【常态化】","康桥宝邸居民区【常态化】","秀怡苑居民区【常态化】","文怡苑居民区【常态化】","横沔社区中心【常态化】","汤巷雅苑居民区【常态化】","珺仁采样点【常态化】","康桥商务绿洲-金域-17【常态化】","康桥智选假日酒店(秀浦路2500弄8号)【常态化】","上海二建【常态化】","宁怡居民区【常态化】","昌硕公司解码29号点【常态化】","昌硕公司解码30号点【常态化】","仁怡苑(六街坊)【常态化】","东康名苑【常态化】","川周公路凯莱酒店-金域-23【常态化】","极兔采样点【常态化】","良信电器园区采样点【常态化】","新安村卫生室【常态化】","张家桥村卫生室【常态化】","上海市浦东新区老年医院【常态化】","季桥村卫生室【常态化】","腰路村卫生室【常态化】","宣桥社区卫生服务中心大门口【常态化】","供销联社华泰医药宣桥店【常态化】","野生动物园地铁站【常态化】","宣桥村卫生室【常态化】","南六公路500号-达安31号【常态化】","宣桥影剧院广场-达安32号【常态化】","南宣公路239号宣桥影剧院广场【常态化】","旺达采样点【常态化】","松兰卫生室【常态化】","宣桥社区卫生服务中心三灶分中心【常态化】","艺泰安邦【常态化】","项埭村卫生室【常态化】","光辉村卫生室【常态化】","南六公路699弄【常态化】","三灶村卫生室【常态化】","宣春路41号【常态化】","南芦公路以东赵陆路【常态化】","南芦公路193号上河商务园门口【常态化】","陆桥村卫生室【常态化】","野生动物园南六公路178号【常态化】","枫丹白露居委家门口服务站【常态化】","明和居委家门口服务站【常态化】","供销联社华泰医药三灶店【常态化】","枫庭居委家门口服务站【常态化】","光明村卫生室【常态化】","圆通路458号【常态化】","明祥苑居委家门口服务站【常态化】","供销联社华泰医药三灶二店-闵家浜【常态化】","供销联社华泰医药三灶二店【常态化】","供销联社华泰医药三灶二店-奕园路【常态化】","卜蜂莲花宝藤便民采样点【常态化】","江家宅居委凌港城采集点【常态化】","江凌苑采集点【常态化】","祝桥镇新生村卫生室【常态化】","江晖苑采集点【常态化】","江通苑筹备组采集点【常态化】","江家宅居委采集点1【常态化】","海霞二居委采集点【常态化】","新都汇广场采集点【常态化】","祝桥镇卫民村卫生室【常态化】","海霞一居委采集点2【常态化】","海霞一居委采集点1【常态化】","航城二居采集点【常态化】","江镇居委采集点【常态化】","航城二居采集点2【常态化】","思凡二居采集点【常态化】","祝桥镇卫东村卫生室【常态化】","祝桥镇星光村卫生室【常态化】","思凡三居采集点【常态化】","同济启航居委采集点【常态化】","祝桥镇新营中心村卫生室【常态化】","晨阳居委采集点2【常态化】","晨阳居委采集点1【常态化】","祝桥镇立新村卫生室【常态化】","东都居委采集点【常态化】","祝桥镇邓一村卫生室【常态化】","施湾社区文化活动中心采集点【常态化】","东港一居采集点【常态化】","东港二居采集点【常态化】","思凡一居采集点【常态化】","祝桥镇中圩村卫生室【常态化】","江镇社区卫生服务中心【常态化】","百欣苑采集点【常态化】","红旗村采集点【常态化】","祝康北苑采集点【常态化】","航城一居采集点【常态化】","卫东村采集点【常态化】","亭东村采集点【常态化】","祝康苑采集点【常态化】","祝桥一居委采集点【常态化】","祝桥镇祝西村卫生室【常态化】","祝桥二居委采集点【常态化】","邓镇一居采集点1【常态化】","祝顺苑采集点【常态化】","施镇居委采集点1【常态化】","祝桥镇社区卫生服务中心桥镇老年护理院【常态化】","祝安苑采集点【常态化】","邓镇二居采集点【常态化】","邓镇一居采集点2【常态化】","施湾绿地东海岸时代广场采集点【常态化】","机场社区卫生服务中心【常态化】","祝桥镇三八村卫生室【常态化】","施镇居委采集点2【常态化】","祝桥镇邓三村卫生室【常态化】","祝桥镇道新中心村卫生室【常态化】","祝祥苑采集点【常态化】","供销联社华泰医药祝桥店【常态化】","祝桥镇邓二村卫生室【常态化】","祝和苑采集点【常态化】","东方鸿璟园采集点【常态化】","朗诗未来树采集点【常态化】","盐仓居委采集点【常态化】","华泰医药盐仓店【常态化】","祝桥镇老年服务中心【常态化】","东港花苑采集点【常态化】","祝桥社区卫生服务中心盐仓分中心【常态化】","佛罗伦萨小镇采集点【常态化】","滨一居委采集点【常态化】","宝藤便民采样点【常态化】","祝桥党群服务中心采集点【常态化】","千汇三村采集点【常态化】","祝桥镇望三村卫生室【常态化】","千汇二村采集点【常态化】","千汇四村采集点【常态化】","锦绣东郊采集点【常态化】","宇筑机械厂区采集点【常态化】","千汇一村采集点【常态化】","祝桥镇明星村卫生室【常态化】","2040采集点【常态化】","宝藤便民采样点-施湾七路-1【常态化】","宝藤便民采样点-施湾七路【常态化】","祝桥镇星火村卫生室【常态化】","祝桥镇红星村卫生室【常态化】","祝桥镇金星村卫生室【常态化】","施新路宝藤便民采样点【常态化】","嘉荣广场采集点【常态化】","龙博公司采集点【常态化】","祝桥镇亭中村卫生室【常态化】","旌琪公司采集点【常态化】","祝桥镇红三村卫生室【常态化】","祝桥镇高永村卫生室【常态化】","祝桥镇新如村卫生室【常态化】","祝桥镇先进村卫生室【常态化】","供销联社华泰医药东海店【常态化】","祝桥社区卫生服务中心东海分中心【常态化】","祝桥镇新东村卫生室【常态化】","朝阳为老综合服务中心采集点【常态化】","祝桥镇义泓村卫生室【常态化】","祝桥镇东滨中心村卫生室【常态化】","康桥路宝藤便民采样点【常态化】","宝藤华亮商业广场【常态化】","泥城镇中泐村卫生室【常态化】","泥城镇彭庙村卫生室【常态化】","泥城镇海关村卫生室【常态化】","永盛、杭园家门口服务站【常态化】","新微半导体园区核酸点【常态化】","飞渡路妙香路核酸点【常态化】","文采路秋兴路园区核酸点【常态化】","彭镇居委便民核酸点【常态化】","泥城社区卫生服务中心彭镇分中心【常态化】","泥城镇马厂村卫生室【常态化】","彭兴苑家门口服务站【常态化】","云欣苑家门口服务站【常态化】","云翔苑家门口服务站【常态化】","云汉路宝藤便民采样点【常态化】","云汉路969号【常态化】","云汉路969号西侧-达安4号【常态化】","云霞苑便民核酸点【常态化】","阳光里便民核酸点【常态化】","飞舟路核酸点【常态化】","云绣苑家门口服务站【常态化】","飞渡路园区核酸点【常态化】","万达广场核酸点【常态化】","泥城社区卫生服务中心【常态化】","宝龙广场核酸点【常态化】","彩云路70-72号【常态化】","云帆苑家门口服务站-达安3号【常态化】","党群服务中心核酸点【常态化】","公租房核酸点2【常态化】","公租房核酸点1【常态化】","泥城镇云帆苑服务站【常态化】","泥城大润发【常态化】","公租房核酸点3【常态化】","新元南路核酸点【常态化】","泥城镇人民村卫生室【常态化】","泥城镇云锦苑村卫生室【常态化】","宝藤便民采样点【常态化】","泥城镇公平村卫生室【常态化】","泥城居委家门口服务站【常态化】","中科润达便民采样点【常态化】","千祥居委家门口服务站【常态化】","泥城镇横港村卫生室【常态化】","泥城镇龙港村卫生室【常态化】","广祥路解码7号点【常态化】","第一居委广场(华泰)【常态化】","书院镇余姚村卫生室【常态化】","书院镇棉场村卫生室【常态化】","地铁16号线书院站(解码)【常态化】","书院镇路南村卫生室【常态化】","书院镇路南村委会-达安30号【常态化】","书院社区卫生服务中心2【常态化】","书院镇李雪村卫生室【常态化】","书院镇新北村卫生室【常态化】","书院镇桃园村卫生室【常态化】","新舒苑居委(解码)【常态化】","书院社区卫生服务中心南分中心【常态化】","供销联社华泰医药华馨大药房【常态化】","新欣居委老鹰广场(解码)【常态化】","供销联社华泰医药书院店【常态化】","禹州广场(华泰)【常态化】","书院镇外灶村卫生室【常态化】","书院社区卫生服务中心【常态化】","书院镇中久村卫生室【常态化】","丽泽居委/镇党群服务中心(华泰)【常态化】","供销联社华泰医药新港店【常态化】","舒馨居委(达安)【常态化】","书院镇黄华村卫生室【常态化】","书院镇洼港村卫生室【常态化】","书院镇洋溢村卫生室【常态化】","书院镇塘北村卫生室【常态化】","书院镇四灶村卫生室【常态化】","东方颐城(达安)【常态化】","书院镇东方颐城-达安38号【常态化】","书院镇东场居委-达安28号【常态化】","万祥镇万隆村卫生室【常态化】","万祥镇橘园采样点【常态化】","万祥镇金路村卫生室【常态化】","兰湾居委采样点【常态化】","兴隆苑采样点【常态化】","万祥工业园区【常态化】","万祥镇祥苑村卫生室【常态化】","万祥镇万兴村卫生室【常态化】","万祥社区卫生服务中心【常态化】","万祥镇万宏村卫生室【常态化】","万祥镇社区党群服务中心【常态化】","万祥镇新振村卫生室【常态化】","万祥镇新路村卫生室【常态化】","万祥镇新建村卫生室【常态化】","老港镇成日村卫生室【常态化】","老港镇欣河村卫生室【常态化】","老港镇牛肚村卫生室【常态化】","老港社区卫生服务中心【常态化】","老港镇建港村卫生室【常态化】","社区服务设施(含党群服务中心)【常态化】","老港镇大河村卫生室【常态化】","老港镇东河村卫生室【常态化】","老港镇滨海居委分中心【常态化】","沧海路云水路(钻石园)【常态化】","华泰连锁芦潮港店(潮华路6号)【常态化】","万水路1611号(世邦机器)【常态化】","洋浩路茂祥路解码8号点【常态化】","华泰连锁果园店(潮乐路16号附近)【常态化】","芦潮港社区卫生服务中心【常态化】","健祥路普捷通堆场解码9号点【常态化】","洋浩路(近江山路)铁路集装箱中心【常态化】","同汇路168号【常态化】","同顺大道333号【常态化】","101社区服务站门口空地处【常态化】","海洋一路99号(创新晶体)【常态化】","夏栎路330弄(阿新门前)【常态化】","水芸路388号临港城投大厦【常态化】","105建设者小镇建工大礼堂【常态化】","环湖南三路南港大道建设者小镇103社区服务站篮球场【常态化】","年丰村党群服务站核酸采样点【常态化】","火线村党群服务站核酸采样点【常态化】","封杨社区党群服务站核酸采样点【常态化】","江桥镇社区卫生服务中心【常态化】","嘉封社区党群服务站核酸采样点【常态化】","杨柳社区党群服务站核酸采样点【常态化】","吴杨东路101弄采样点【常态化】","金中社区党群服务站核酸采样点【常态化】","新华村党群服务站核酸采样点【常态化】","金岸社区党群服务站核酸采样点【常态化】","金耀社区党群服务站核酸采样点【常态化】","绿三社区党群服务站核酸采样点【常态化】","绿二社区党群服务站核酸采样点【常态化】","绿一社区党群服务站核酸采样点【常态化】","金莱社区党群服务站核酸采样点【常态化】","金水社区党群服务站核酸采样点【常态化】","嘉禧社区党群服务站核酸采样点【常态化】","金德社区党群服务站核酸采样点【常态化】","金园社区党群服务站核酸采样点【常态化】","华庄村党群服务站核酸采样点【常态化】","嘉海社区党群服务站核酸采样点【常态化】","金虹社区党群服务站核酸采样点【常态化】","星火村党群服务站核酸采样点【常态化】","嘉巷社区党群服务站核酸采样点【常态化】","金桥社区党群服务站核酸采样点【常态化】","五四村党群服务站核酸采样点【常态化】","嘉龙社区党群服务站核酸采样点【常态化】","嘉远社区党群服务站核酸采样点【常态化】","高潮村党群服务站核酸采样点【常态化】","金华社区党群服务站核酸采样点【常态化】","江华社区党群服务站核酸采样点【常态化】","嘉涛社区党群服务站核酸采样点【常态化】","嘉豪社区党群服务站核酸采样点【常态化】","嘉华社区党群服务站核酸采样点【常态化】","嘉星社区党群服务站核酸采样点【常态化】【常态化】","江佳社区党群服务站核酸采样点【常态化】","嘉川社区党群服务站核酸采样点【常态化】","江安社区党群服务站核酸采样点【常态化】","嘉城社区党群服务站核酸采样点【常态化】","江宁社区党群服务站核酸采样点【常态化】","建华村党群服务站核酸采样点【常态化】","恒嘉社区党群服务站核酸采样点【常态化】","新江村党群服务站核酸采样点【常态化】","太平村党群服务站核酸采样点【常态化】","增建村党群服务站核酸采样点【常态化】","封浜村党群服务站核酸采样点【常态化】","红光村党群服务站核酸采样点【常态化】","嘉怡社区党群服务站核酸采样点【常态化】","金城社区党群服务站核酸采样点【常态化】","金佳社区党群服务站核酸采样点【常态化】","嘉峪社区党群服务站核酸采样点【常态化】","黄家花园路检测点【常态化】","富友社区党群服务站核酸采样点【常态化】","金达社区党群服务站核酸采样点【常态化】","靖远路1099弄采样点【常态化】","江桥万达采样点【常态化】","金旺社区党群服务站核酸采样点【常态化】","先农村党群服务站核酸采样点【常态化】","幸福村党群服务站核酸采样点【常态化】","江丰社区党群服务站核酸采样点【常态化】","曹安社区党群服务站核酸采样点【常态化】","嘉蓝社区党群服务站核酸采样点【常态化】","嘉航社区党群服务站核酸采样点【常态化】","崇明工业园区(城桥镇)【常态化】","城桥镇南门广场【常态化】","城桥镇西门里【常态化】","崇明生态企业【常态化】","城桥镇川心街社区【常态化】","上海交通大学医学院附属新华医院崇明分院【常态化】","城桥镇崇明体育场【常态化】","城桥镇湾南村村民广场【常态化】","城桥镇社区事务受理服务中心【常态化】","城桥镇明珠社区【常态化】","城桥镇绿地新都会【常态化】","城桥镇金日停车场【常态化】","城桥镇文化活动中心鳌山分中心【常态化】","城桥镇侯南村党群服务中心【常态化】","城桥镇怡祥居广场【常态化】","城桥镇社区卫生服务中心【常态化】","城桥镇万达广场【常态化】","城桥镇新城公园【常态化】","城桥镇聚训村党群服务中心【常态化】","堡镇财贸村党群服务中心【常态化】","堡镇社区市民健身中心【常态化】","堡镇堡港村党群服务中心【常态化】","堡镇社区卫生服务中心东侧【常态化】","第十人民医院崇明分院【常态化】","堡镇堡北村党群服务中心【常态化】","堡镇永和村党群服务中心【常态化】","堡镇花园村党群服务中心【常态化】","堡镇营房村党群服务中心【常态化】","堡镇四滧村党群服务中心【常态化】","堡镇瀛南村党群服务中心【常态化】","堡镇小漾村党群服务中心【常态化】","堡镇社区事业受理中心五滧分中心【常态化】","堡镇彷徨村党群服务中心【常态化】","堡镇南海村党群服务中心【常态化】","堡镇米行村党群服务中心【常态化】","庙镇爱民村党群服务中心【常态化】","庙镇米洪村党群服务中心【常态化】","庙镇启瀛村党群服务中心【常态化】","庙镇镇东村卫生室【常态化】","庙镇公交车站【常态化】","庙镇社区事务受理服务中心【常态化】","庙镇合中村党群服务中心【常态化】","庙镇联益村党群服务中心【常态化】","庙镇社区卫生服务中心【常态化】","庙镇猛将庙居委党群服务中心【常态化】","庙镇保安村党群服务中心【常态化】","庙镇宏达村党群服务中心【常态化】","庙镇通济村党群服务中心【常态化】","庙镇永乐村党群服务中心【常态化】","上海市崇明区第三人民医院【常态化】","中兴镇七滧村【常态化】","中兴镇誉福农贸市场【常态化】","中兴镇广福社区【常态化】","中兴镇社区卫生服务中心【常态化】","中兴镇胜利村【常态化】","中兴镇永南村党群服务中心【常态化】","中兴镇北兴村【常态化】","现代农业园区(中兴镇)【常态化】","天新村村委会（党群服务中心）【常态化】","富盛工业园区(新河镇)【常态化】","进化村村委会（党群服务中心）【常态化】","新南广场（新南居民区党群服务中心）【常态化】","新河镇社区卫生服务中心【常态化】","新河镇新民文化分中心（新晨居民区党群服务中心）【常态化】","三烈村津口卫生室【常态化】","卫东村文化活动中心（卫生室）【常态化】","新民村村委会（党群服务中心）【常态化】","永丰村为老服务中心（党群服务中心）【常态化】","三星镇育德村党群服务中心【常态化】","三星镇三协村党群服务中心【常态化】","三星镇海滨村党群服务中心【常态化】","三星镇邻江村党群服务中心【常态化】","三星镇社区党群服务中心【常态化】","三星镇新安村党群服务中心【常态化】","三星镇永安村党群服务中心【常态化】","三星镇社区卫生服务中心【常态化】","G40崇启道口【常态化】","向化镇闸西3队老年活动室【常态化】","向化镇社区党群服务中心【常态化】","向化镇社区卫生服务中心【常态化】","向化镇花仓村卫生室【常态化】","向化镇阳光之家【常态化】","向化镇为老服务中心【常态化】","向化镇阜康村卫生室【常态化】","向化镇北港村卫生室【常态化】","广富林路采样点【常态化】","盛品精密气体(上海)有限公司【常态化】","正泰启迪智电港采样点【常态化】","富士迈半导体精密工业(上海)有限公司【常态化】","时尚谷采样点【常态化】","龙湖采样点【常态化】","上海正泰电源系统有限公司【常态化】","科沁苑采样点【常态化】","豪威光电子科技(上海)有限公司【常态化】","雨化村党群服务站采集点【常态化】","都市工业园采集点【常态化】","G15沈海高速朱桥检查站【常态化】","朱桥老街采集点【常态化】","工业区社区卫生服务中心【常态化】","三里村党群服务中心采集点【常态化】","嘉隆国际集中采样点【常态化】","同盛园社区采集点【常态化】","永泰嘉苑采集点【常态化】","景华苑公园采集点【常态化】","科嘉人才苑采集点【常态化】","紫薇坊采集点【常态化】","嘉唐公路采集点【常态化】","胜辛批发市场采集点【常态化】","柯尼卡美能达光学仪器(上海)有限公司【常态化】","豪德机械(上海)有限公司【常态化】","园区公寓采样点【常态化】","富通集团(上海)电线有限公司【常态化】","上海三井复合塑料有限公司【常态化】","上海小里机材有限公司【常态化】","巨圆纸业(上海)有限公司【常态化】","博斯特(上海)有限公司【常态化】","上海世霸包装材料有限公司【常态化】","上海贝印刃具有限公司【常态化】","上海东武橡胶中心有限公司【常态化】","洞泾路采样点【常态化】","上海四国食品包装机械有限公司【常态化】","上海金月海餐饮有限公司【常态化】","航翊公寓采样点【常态化】","东开大楼联慧公寓【常态化】","上海源豪检测技术有限公司【常态化】","上海东培企业有限公司【常态化】","上海华尔卡氟塑料制品有限公司【常态化】","松下信息仪器(上海)有限公司【常态化】","上海新洲包装印刷有限公司【常态化】","赫斯可液压(上海)有限公司+赫斯可汽车【常态化】","艾纶锐祈清洁设备(上海)有限公司-经开区【常态化】","泰克国际(上海)技术橡胶有限公司【常态化】","汉升密封科技(上海)有限公司【常态化】","巴特勒(上海)有限公司【常态化】","上海营创精密汽车模型技术有限公司【常态化】","上海高士线业有限公司【常态化】","日东电工(上海松江)有限公司【常态化】","纪州喷码技术(上海)有限公司【常态化】","上海意力速电子工业有限公司【常态化】","摩丁热能技术(上海)有限公司【常态化】","美联钢结构建筑系统(上海)股份有限公司【常态化】","德谦(上海)化学有限公司【常态化】","上海新倬壮印刷科技有限公司【常态化】","上海坂井塑料成形有限公司【常态化】","好富顿(上海)高级工业介质有限公司【常态化】","国基电子(上海)有限公司【常态化】","上海味之素氨基酸有限公司【常态化】","上海田岛工具有限公司【常态化】","特殊陶业实业(上海)有限公司【常态化】","上海天马精塑有限公司【常态化】","斯必能通讯器材(上海)有限公司【常态化】","贝科工业涂料(上海)有限公司【常态化】","艾默生精密工具技术(上海)有限公司【常态化】","上纬新材料科技股份有限公司【常态化】","日立安斯泰莫底盘系统(上海)有限公司【常态化】","上海翔亚实业有限公司(南乐公寓)中协实业【常态化】","小川香料(上海)有限公司【常态化】","悠哈味觉糖食品(上海)有限公司【常态化】","东开医院【常态化】","古河辉提路光电(上海)有限公司【常态化】","联阳路C检测点【常态化】","华尔卡密封件制品(上海)有限公司【常态化】","南乐路采样点【常态化】","有巢公寓采样点【常态化】","上海嘉强自动化技术有限公司【常态化】","金地威新采样点【常态化】","汉斯格雅卫浴产品(上海)有限公司【常态化】","申港路采样点【常态化】","五星村卫生室【常态化】","启航楼【常态化】","三星村卫生室【常态化】","宝藤世博公园游客服务中心便民采样点【常态化】","世博源解码18号点【常态化】","宝藤便民采样点【常态化】","宝藤世博管理局联勤联动站便民采样点【常态化】","陆家嘴中心绿地-金域-27【常态化】","七棵树生活驿站采样点【常态化】","上海力泉医院【常态化】","社区文化活动中心采样点-奉炮公路【常态化】","保税区医疗保健中心6号点【常态化】","保税区医疗保健中心3号点【常态化】","宝藤张衡路采样点1【常态化】","保税区医疗保健中心2号点【常态化】","药明生物本部1【常态化】","啦啦宝都荻硕贝肯8号点【常态化】","药明生物分部2【常态化】","保税区医疗保健中心1号点【常态化】","由度工坊荻硕贝肯2号点【常态化】","海立集团园区采样点【常态化】","东方万国荻硕贝肯4号点【常态化】","陆家桥村采样点【常态化】","华虹创新园荻硕贝肯3号点【常态化】","金鼎天地【常态化】","天之骄子解码24号点【常态化】","万创园【常态化】","保税区医疗保健中心4号点【常态化】","金吉路33弄【常态化】","美迪科“满天星”采集点【常态化】","华为公司【常态化】","泛亚汽车【常态化】","冯家村卫生室【常态化】","红旗村采样点【常态化】","元禾“满天星”采集点【常态化】","东新市村采样点【常态化】","幸福村采样点【常态化】","二桥村采样点【常态化】","分水墩村采样点【常态化】","阳光花苑荻硕贝肯便民15号点【常态化】","保税区医疗保健中心5号点【常态化】","南门海裕广场采集点【常态化】","海尚墅林苑采样点【常态化】","绿地香颂采样点【常态化】","海湾国际风筝放飞场采样点【常态化】","上海师范大学【常态化】","佳兆业珊瑚湾采样点【常态化】","蔡家桥村采样点【常态化】","戴家村村委会采样点【常态化】","园区“满天星”采集点【常态化】","南宋村采样点【常态化】","弘洋“满天星”采集点【常态化】","北宋村采样点【常态化】","安亭镇社区卫生服务中心【常态化】","G2京沪高速安亭检查站【常态化】","嘉园医院【常态化】","安亭老街门口【常态化】","上海国际汽车城世茂实业有限公司（出口基地大楼）【常态化】","六泉桥社区居委会【常态化】","嘉亭荟【常态化】","海军军医大学第三附属医院(安亭分院)【常态化】","安亭镇社区党群服务中心（市民广场）【常态化】","墨玉社区【常态化】","安亭新镇万创坊【常态化】","上海孟超肿瘤医院【常态化】","安亭汽车城社区党群服务中心（我嘉·邻里中心）【常态化】","于塘路采样点【常态化】","数字汽车产业园【常态化】","安研社区居委会【常态化】","泥岗村【常态化】","安景社区【常态化】","朱家村【常态化】","莱英社区【常态化】","泰顺社区【常态化】","黄渡文体中心【常态化】","黄渡社区卫生服务中心【常态化】","方泰社区【常态化】","安城社区【常态化】","黄沈村【常态化】","许家村【常态化】","老宅村【常态化】","博园社区【常态化】","春海社区筹建组居委会【常态化】","安亭经济发展中心【常态化】","黄渡园区【常态化】","星光村【常态化】","联群村村委会【常态化】","联西村【常态化】","陆巷区域【常态化】","安勇社区筹建组【常态化】","于塘社区筹建组【常态化】","杭桂社区筹建组【常态化】","上海欣安医院【常态化】","春海社区筹建组【常态化】","春雨社区筹建组【常态化】","泉泾村采样点【常态化】","望新村采样点【常态化】","巨门村采样点【常态化】","葛隆村采样点【常态化】","周泾村采样点【常态化】","外冈佳苑党群服务站核酸采样点【常态化】","景苑社区采样点【常态化】","马门村采样点【常态化】","新苑社区采样点【常态化】","外冈镇东园区采样点【常态化】","长泾村采样点【常态化】","管家村（沪宜公路西）采样点【常态化】","甘柏村采样点【常态化】","祁昌路对面停车场采样点【常态化】","兰郡社区采样点【常态化】","杏花社区采样点【常态化】","外冈村采样点【常态化】","大陆村采样点【常态化】","陈周徐秦村采样点【常态化】","施晋村采样点【常态化】","雅苑社区采样点【常态化】","恒荣社区采样点【常态化】","恒涛社区采样点【常态化】","金地威新智造园（冈峰杨甸）采样点【常态化】"],null,{"showCoverageOnHover":true,"zoomToBoundsOnClick":true,"spiderfyOnMaxZoom":true,"removeOutsideVisibleBounds":true,"spiderLegPolylineOptions":{"weight":1.5,"color":"#222","opacity":0.5},"freezeAtZoom":false},null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null]},{"method":"addHeatmap","args":[[[31.378557086,121.23146326],[31.376557094,121.231564179],[31.37691092,121.23344871],[31.3770530033,121.236183778],[31.3806027175,121.237268762],[31.387425023,121.239742041],[31.3918235292,121.240220547],[31.377910904,121.240849793],[31.384457146,121.240869105],[31.38224027,121.24171536],[31.3879685859,121.24213296],[31.3893667,121.24374287],[31.3870462775,121.244751879],[31.3831865788,121.244888783],[31.3812705875,121.246655484],[31.3928318024,121.247245936],[31.3910849036,121.247254908],[31.379615593,121.249580437],[31.3895227704,121.249704301],[31.3905417951,121.250281205],[31.3851823693359,121.24636977911],[31.4584010839,121.224791177],[31.4822598276,121.232154631],[31.4439568524,121.233475522],[31.467319241,121.23354556],[31.4682769775,121.239591837],[31.462768793,121.244267464],[31.4756566286,121.246081523],[31.4795702261,121.263503285],[31.466680537,121.27905856],[31.4708738183,121.279621662],[31.4760000891,121.279867887],[31.4578378201,121.280731559],[31.4708304405,121.288225651],[31.4813583844,121.29736388],[31.4732390642,121.297819912],[31.45590408,121.28870272],[31.3709406853,121.203570843],[31.3725256919,121.213374384],[31.3537949324,121.214057207],[31.3842988013,121.215288785],[31.3823711872,121.216347814],[31.3788994181,121.222895119],[31.3729951265,121.223860561],[31.3815528732,121.225211494],[31.3790831592,121.229858426],[31.3935130835,121.231904626],[31.3846839967,121.233751361],[31.389523719,121.23464744],[31.3992154598,121.236346364],[31.4048373699,121.237918139],[31.3998946918,121.245838525],[31.3954353332,121.24788833],[31.4027988911,121.258485317],[31.4070153236,121.260990272],[31.4084690809,121.264772415],[31.3980841727243,121.243315173191],[31.3760745212,121.47976879],[31.3705104589,121.479928493],[31.36901377,121.4843271],[31.3852817285,121.484349293],[31.3842594624,121.484802067],[31.3807940483,121.486762762],[31.382829845,121.487304568],[31.3639014959,121.488189697],[31.3739034533,121.488913894],[31.383220694,121.49088459],[31.3888165355,121.491263509],[31.3800041858,121.492399447],[31.3844820857,121.492821872],[31.3757514954,121.49341464],[31.3759223766,121.494052013],[31.3882049918,121.494428515],[31.3915765285,121.49464041],[31.3744023442,121.494844258],[31.3949078321,121.495555043],[31.3828647137,121.496477723],[31.356664896,121.497040987],[31.3958466053,121.49867177],[31.3896077871,121.499988735],[31.3944250345,121.502480507],[31.3412261009,121.435967088],[31.3386395938,121.437957473],[31.3320797682,121.438405216],[31.3463652134,121.438536644],[31.335579,121.439624207],[31.3287001848,121.440017223],[31.3332143426,121.440226436],[31.3332565275,121.44029673],[31.3420348963,121.440555211],[31.339072287,121.44140661],[31.3421273232,121.442399025],[31.3349202275,121.44293949],[31.3315540552,121.443477273],[31.3379645348,121.443906426],[31.3453290996,121.444254866],[31.33058846,121.44555867],[31.341843009,121.445800066],[31.3367738425,121.445806256],[31.340024,121.446179107],[31.3351106644,121.446325779],[31.328226,121.448818624],[31.3477814198,121.450145245],[31.3429668546,121.450223029],[31.346057,121.450975827],[31.332735579,121.451154197],[31.3294780254,121.451336145],[31.3332867622,121.451427341],[31.3370901346,121.451641917],[31.3401666284,121.451776028],[31.3387672201,121.454601055],[31.3363460705,121.455039926],[31.3292473555,121.455745697],[31.327204585018,121.444178402653],[31.3329488041472,121.444233119619],[31.3321197439393,121.449984312712],[31.3396224336861,121.453358318776],[31.4121492821,121.466721154],[31.4102548196,121.470664144],[31.4155864042,121.471532516],[31.4044001063,121.471799313],[31.4087563,121.47344931],[31.4031797647,121.476296782],[31.401583951,121.477061489],[31.4096707106,121.477181911],[31.4153677225,121.477219462],[31.408007741,121.480244994],[31.4150351286,121.480990648],[31.401476562,121.480998695],[31.3980701566,121.481293738],[31.4116033117,121.482621562],[31.3919949532,121.482878923],[31.4147615433,121.483597755],[31.4081901312,121.483957171],[31.396930218,121.48398668],[31.4094293118,121.485075653],[31.4058056474,121.485153437],[31.393738389,121.485807896],[31.3990625739,121.487253606],[31.4045162523,121.487389699],[31.396125555,121.488447189],[31.3986307383,121.488903165],[31.4064413309,121.489938498],[31.4142975211,121.490684152],[31.41184488,121.49127096],[31.4036611001,121.491651691],[31.3965064287,121.49215132],[31.396375,121.49526805],[31.4045530558,121.496051252],[31.4017546311,121.496242923],[31.4017179608,121.499194801],[31.4077100158,121.318953037],[31.3920807838,121.331090033],[31.3830766082,121.331186593],[31.4122913018,121.3359267],[31.4221027493,121.336478591],[31.3854342699,121.337401271],[31.4148366451,121.340662837],[31.4028418064,121.343457699],[31.387732923,121.346088946],[31.411100328,121.346223056],[31.4289611578,121.347008944],[31.42129914,121.35186157],[31.4007335901,121.352630854],[31.4060242403,121.354036292],[31.3901200891,121.354639828],[31.3874191046,121.357995272],[31.4265914464,121.358044109],[31.3834646716,121.359729403],[31.4052128792,121.36382103],[31.3781064749,121.365272105],[31.4287868142,121.370556056],[31.3894709945,121.38335824],[31.4165156082,121.34246850017],[31.316921606,121.34531223],[31.3239821395,121.364623219],[31.3180543098,121.366823885],[31.3230705214,121.366996236],[31.3059446285,121.368047308],[31.3195860386,121.368820667],[31.3214206696,121.368952096],[31.3236951828,121.370298564],[31.300676372,121.37136924],[31.315984188,121.371448155],[31.3212302327,121.374281645],[31.3161474466,121.374930739],[31.3186553121,121.376245022],[31.3138353825,121.376682222],[31.321242066,121.37727366],[31.321242066,121.37727366],[31.3193204999,121.377532482],[31.3022240996,121.380136907],[31.3120704889,121.380187869],[31.3185077906,121.38151288],[31.3166999817,121.382381916],[31.3170406222,121.382419467],[31.3226447411,121.382596493],[31.31278785,121.38485266],[31.2973371148,121.386158466],[31.31275177,121.386791468],[31.309248805,121.388049424],[31.31794903,121.38871007],[31.3130789995,121.390514374],[31.3132882118,121.392810345],[31.3310873508,121.392839849],[31.3094735742,121.393657686],[31.2967550755,121.393861771],[31.3012358518,121.394868004],[31.3189423084,121.394934654],[31.2911278009,121.396790743],[31.3036000729,121.397485435],[31.3380557299,121.398528814],[31.2817293406,121.400159597],[31.3286358118,121.400610209],[31.3281235099,121.400765777],[31.3122466414,121.401830249],[31.2853297695,121.402155161],[31.3310176134,121.402294636],[31.3111036995,121.403011859],[31.2932065129,121.403590143],[31.3010948896,121.403721571],[31.313406229,121.403920054],[31.298262103,121.404661546],[31.3173707704,121.404833494],[31.3044548035,121.405064464],[31.3287162781,121.405609846],[31.3089966774,121.405856609],[31.2985911459,121.406204101],[31.305179894,121.406508386],[31.3155949116,121.407122612],[31.2900817394,121.407364011],[31.285725832,121.408141851],[31.3054949775,121.408798041],[31.2778267264,121.408911645],[31.2773117423,121.410652399],[31.272668839,121.41070604],[31.3047373295,121.410845518],[31.2873351574,121.410984993],[31.2815952301,121.411030591],[31.2782509123,121.411604583],[31.2971574068,121.411709189],[31.3041687012,121.412213445],[31.2867209315,121.412334144],[31.2887915969,121.412387788],[31.2957743996,121.412613575],[31.2890022554,121.41290828],[31.2677183629,121.413145065],[31.2739858031,121.413954198],[31.2849748135,121.413959563],[31.2756460905,121.414048076],[31.2751311064,121.414343119],[31.2716950687335,121.414529801],[31.2863417956,121.416220665],[31.2895010394,121.417186804],[31.281360537,121.41721576],[31.2765553594,121.418025792],[31.282158494,121.418589056],[31.303755641,121.419433951],[31.2769550085,121.419570744],[31.272876783,121.419671774],[31.2730202079,121.419981122],[31.2809488177,121.420278847],[31.3015945142,121.421533492],[31.3161753417,121.369119114111],[31.31612844,121.37290938],[31.3192588090896,121.373058077737],[31.2974578142,121.387145519],[31.4017227888,121.391923264],[31.4007094501,121.408356334],[31.3622857684,121.41156435],[31.3946425569,121.414256739],[31.3649346607,121.416049004],[31.394356456,121.42011226],[31.3729224835,121.422828019],[31.3841575384,121.424578428],[31.3937973976,121.425694227],[31.3956391581,121.425839546],[31.3630183708,121.427434087],[31.3953952796,121.429254258],[31.3704541326,121.429516375],[31.3610777603,121.430141548],[31.3997008509,121.431990266],[31.388691378,121.43242573],[31.3681232929,121.432442665],[31.3929104805,121.432912052],[31.3632068038,121.43375963],[31.3578677093,121.434478734],[31.4062443264,121.436312142],[31.3668626547,121.437394023],[31.3704434037,121.43786341],[31.3857258547,121.438640356],[31.367729708,121.440118247],[31.3734081044,121.440316332],[31.3536607257,121.440483558],[31.3830356834,121.440580487],[31.3929283619,121.44331634],[31.3719930333,121.445052624],[31.3961711526,121.445250213],[31.3588802023,121.447741441],[31.4026364238,121.447932449],[31.394269466,121.45183504],[31.3855689987,121.452479999],[31.359722614,121.45375013],[31.384175842,121.459591213],[31.4032173157,121.459951401],[31.3703159894,121.461335855],[31.4092254639,121.463942528],[31.3991671801,121.464377046],[31.4089092879,121.465358936],[31.3782995939,121.470382512],[31.3949829339981,121.406092643738],[31.3630683311951,121.411929130554],[31.3893771172,121.421992778778],[31.3691468709603,121.423360705376],[31.3596636057,121.425377726555],[31.3912810276613,121.426692008972],[31.3631397486,121.427346467972],[31.3707357645,121.427904367447],[31.4051721658493,121.430093050003],[31.3620120463131,121.435666680336],[31.3746795663651,121.44445252412],[31.3694214821,121.446953415871],[31.405287981,121.450788974762],[31.3916784525,121.46296620369],[31.384871006,121.425050497],[31.4553867515,121.377232763],[31.4509286494,121.381228972],[31.440961361,121.38165236],[31.4137986302,121.38479054],[31.4050067942,121.38535972],[31.4651709795,121.387724876],[31.440077902,121.3885938],[31.4509177208,121.391426325],[31.4157325029,121.394312382],[31.456951423,121.39666071],[31.4317238331,121.396973133],[31.423279,121.40312942],[31.4488202333,121.403587461],[31.428912878,121.404139996],[31.4128947258,121.40856564],[31.4235645533,121.410019398],[31.4182806015,121.420356631],[31.4067486284,121.423848437],[31.4186037707,121.427122935],[31.4141724633,121.428305652],[31.4054918289185,121.382274627685],[31.4529991149903,121.386821508931],[31.43088248,121.39184468],[31.4912259579,121.306271553],[31.4672121406,121.319183707],[31.4848583937,121.319961548],[31.4685451984,121.320310235],[31.496976614,121.323561072],[31.4873099327,121.325760484],[31.456759572,121.327584386],[31.4629876614,121.328517795],[31.4783808589,121.329145432],[31.4683469147,121.331813175],[31.4837650695,121.332142563],[31.4921486378,121.335459352],[31.4799070358,121.338586807],[31.4774795971,121.341704476],[31.4667588472,121.343704462],[31.4868105051,121.350064964],[31.3868021965,121.259644678],[31.3909354806,121.264723567],[31.381435539,121.26632604],[31.3999993347,121.266440749],[31.38901184,121.26842632],[31.3916528208,121.271793366],[31.3834171253,121.274847558],[31.3835181239202,121.264449208975],[31.3869255784038,121.264612778703],[31.3492459059,121.334987283],[31.3714814186,121.339611411],[31.3460969925,121.344101429],[31.3560962677,121.345453262],[31.329558,121.346269701],[31.3528454304,121.346442997],[31.3475453854,121.351863742],[31.3600337505,121.352228522],[31.3470035791,121.352394819],[31.3426694425,121.356085301],[31.3619890809,121.357684135],[31.3667231798,121.359990835],[31.3488301635,121.360717714],[31.3528937101,121.361407042],[31.3503161073,121.362450421],[31.3616323471,121.364555955],[31.362607645,121.364753215],[31.3470647117,121.36676034],[31.3516947627,121.366916299],[31.3550046086,121.368681192],[31.3607895055,121.369165477],[31.3584887981,121.369373202],[31.369232,121.371910837],[31.3565093279,121.372742057],[31.3603234291,121.37349844],[31.3525182009,121.37686193],[31.3528481126,121.378111839],[31.3482964039,121.378219128],[31.3639390469,121.380010843],[31.3546934724,121.382111013],[31.3576841354,121.38492465],[31.339614,121.385853997],[31.3834735751,121.386523247],[31.3578437269,121.386835724],[31.3626623154,121.386973858],[31.358268857,121.387676597],[31.3495489955,121.393590868],[31.3435017202,121.394738244],[31.3770515343,121.394903463],[31.3451850414,121.395090222],[31.3611710072,121.398035288],[31.3826752795,121.402219489],[31.3548570871,121.4040488],[31.3611669838,121.405026466],[31.375956934,121.405939364],[31.3509707455,121.406349166],[31.3581669331,121.406843662],[31.3557245382,121.406965884],[31.3785517216,121.407203078],[31.35650042,121.40910631],[31.3796943426,121.409879923],[31.3496898115,121.418680251],[31.3479396701,121.421287358],[31.34630084,121.42478228],[31.3327241597995,121.368168354084],[31.3432431221,121.382156610489],[31.3262298703,121.442659199],[31.3217478991,121.447798312],[31.3256979888,121.45883776],[31.3242906332,121.463803053],[31.322611349,121.46753784],[31.3190978765,121.468732953],[31.3259160519,121.469730735],[31.3292312622,121.473872066],[31.3228958845,121.475835443],[31.3204336166,121.480244994],[31.3242550449,121.480271816],[31.3350976781,121.481492221],[31.3255351782,121.483844519],[31.3138058782,121.484584808],[31.3276863098,121.485394835],[31.3193077825,121.485663641],[31.3245454431,121.486309469],[31.3186901808,121.486950517],[31.3137093186,121.487468183],[31.3146400452,121.488938034],[31.323538295,121.49075001],[31.3195028901,121.491805315],[31.3175743818283,121.473391950131],[31.3334530592,121.414359212],[31.338275671,121.415324807],[31.3334417109,121.41969178],[31.3302773237,121.419965029],[31.322583477,121.421532252],[31.337505877,121.423223913],[31.3174188137,121.42354846],[31.3304489851,121.424632072],[31.3284309191,121.424754255],[31.3344320717,121.425728635],[31.3228475815,121.426995004],[31.340842545,121.427491307],[31.3870355487,121.431157887],[31.3265077646,121.431693951],[31.3422096936,121.432020911],[31.3300466537,121.432439983],[31.3356143323,121.433549573],[31.3272222877,121.435060501],[31.3230864231,121.435161197],[31.3331526518,121.436283588],[31.3292527199,121.438327432],[31.3243228197,121.440298855],[31.3304677606,121.462064981],[31.3362739203,121.462761225],[31.3371475092,121.463129998],[31.3444276914,121.466633994],[31.3362693787,121.470822394],[31.353263855,121.471302509],[31.3441282511,121.473475099],[31.3389284776,121.476521412],[31.3401693106,121.47659719],[31.3358294964,121.47675544],[31.3483285904,121.479359865],[31.3453781605,121.480464935],[31.343430929,121.48150932],[31.3440236789,121.485255449],[31.3398179412,121.487350166],[31.3359108422,121.487705555],[31.3484883131,121.487865743],[31.3441898574,121.488012388],[31.338710627,121.4903497],[31.3496884704,121.490493715],[31.3410010806,121.490765453],[31.3509571552,121.492778957],[31.3483513892,121.495568454],[31.3469070196,121.500833631],[31.2240513681,121.508257386],[31.226551461,121.509277225],[31.2241999071,121.510330796],[31.2178651102,121.511992156],[31.2248514165,121.512147245],[31.227437235,121.51218205],[31.223461275,121.51252538],[31.2194910206,121.512751758],[31.2201246317,121.513590217],[31.2269097138,121.514370329],[31.2295068625,121.514378786],[31.220679581,121.51512176],[31.2256070556,121.515698433],[31.2265608226,121.515724182],[31.2274733842,121.51619786],[31.2213890121,121.516374886],[31.2296994735,121.516924739],[31.2256660762,121.517871022],[31.2234354981,121.518257577],[31.2185770808,121.51854679],[31.2196418242,121.518874168],[31.2273290218,121.518914402],[31.2221872519,121.520185769],[31.2253979363,121.520213421],[31.2200549367,121.520263553],[31.22855473,121.52037984],[31.2309312942,121.520472765],[31.2242144514,121.520904601],[31.2284770419,121.520934105],[31.2225013678,121.522194743],[31.2225013678,121.522194743],[31.2270367494,121.522661448],[31.2188140547,121.523083091],[31.2240787243,121.523422122],[31.2273762735,121.524004161],[31.2295104958,121.524677396],[31.2215972132,121.52489841],[31.2323742527,121.525823772],[31.23285746,121.527464997],[31.23285746,121.527464997],[31.2242784812,121.528225422],[31.2314795375,121.52842766],[31.225293,121.528545086],[31.233970177,121.529908776],[31.2322777066,121.530469358],[31.2296670911,121.532862179],[31.2383608846,121.493739188],[31.234131248,121.503376365],[31.2316859792,121.504634857],[31.2435134625,121.505388021],[31.2295085587,121.505702313],[31.24373006,121.506816463],[31.2358724098,121.507515578],[31.2358687622,121.507533401],[31.2336956929,121.508168936],[31.2401175499,121.508338451],[31.2286389473,121.508984054],[31.2383899748,121.50899386],[31.243115,121.510458538],[31.2418853864,121.511087716],[31.2293588259,121.512066722],[31.2343566977,121.512764096],[31.2413087058,121.512871385],[31.2397503473,121.512935758],[31.2297670099,121.513026953],[31.238965388,121.513038854],[31.2445726991,121.513346136],[31.2373578225,121.513627768],[31.23241961,121.51381284],[31.2397949315,121.514778435],[31.24388449,121.51537737],[31.2435000861,121.515553594],[31.235882,121.516355816],[31.23447973,121.517350778],[31.2359705108,121.517823815],[31.2420192361,121.518638134],[31.2394312104,121.518897772],[31.2459808358,121.518899284],[31.2343578918,121.519027054],[31.2421638362,121.519300779],[31.2394152747,121.520161629],[31.2367873981,121.520204307],[31.2430305338,121.521000183],[31.2401714873,121.521835327],[31.2387793474,121.522438824],[31.2374328798,121.524056196],[31.2350591355,121.524648964],[31.2390097976,121.525713801],[31.2097267284,121.50812602],[31.2076639673,121.50819422],[31.2142401813,121.508624554],[31.2094161216,121.509545788],[31.2086966017,121.509661429],[31.2114117662,121.510660172],[31.2152833045,121.511060894],[31.213917732,121.51158929],[31.2157302302,121.511806011],[31.2061650425,121.513267976],[31.2125068903,121.514534354],[31.2073047459,121.515919715],[31.2073047459,121.515919715],[31.2098404595,121.516361345],[31.2161370462,121.516601529],[31.213984096,121.516964673],[31.2123156293,121.517248875],[31.2111120528,121.518177206],[31.2136047055,121.518410954],[31.2121042287,121.518434268],[31.20500268,121.518820524],[31.214768859,121.520852081],[31.2059426737,121.521301393],[31.2137087802,121.521324276],[31.2167834802,121.5220128],[31.2130438437,121.522736549],[31.2056943479,121.523015499],[31.2154993311,121.523339402],[31.209786,121.523731246],[31.2037302325,121.524077137],[31.2135730353,121.524489606],[31.2129871247,121.525054439],[31.2135827197,121.525362432],[31.21320058,121.52590587],[31.2085294301,121.526783466],[31.2138489072,121.528161144],[31.2198887477,121.528627461],[31.219570228,121.52863966],[31.1797483169,121.492754385],[31.178253729,121.492974983],[31.1741822018,121.493336287],[31.1827849146,121.493691178],[31.1703072067,121.49380241],[31.1737204918,121.493871689],[31.17840251,121.49405363],[31.176228651,121.494380236],[31.1819303507,121.494983196],[31.1766249515,121.496187234],[31.1697420098,121.496300697],[31.1717157455,121.496450901],[31.1846280931,121.496705174],[31.1786308201,121.496735215],[31.1718998878,121.498114895],[31.1771636814,121.498143375],[31.1863777744,121.49905955],[31.181278219,121.499707103],[31.17439028,121.499947298],[31.1798741702,121.500098553],[31.1774077406,121.50090605],[31.1719819307,121.500913024],[31.183737881,121.500994563],[31.1710806137,121.500997194],[31.185197716,121.501079953],[31.17289626,121.501581967],[31.1875197611,121.50346756],[31.1708417614,121.503574565],[31.181877738,121.50378843],[31.17072972,121.50389299],[31.1765331204,121.505037164],[31.182629684,121.505194827],[31.1790743432,121.505200401],[31.174516332,121.506101489],[31.1857952266,121.50692767],[31.1810066521,121.507656305],[31.1841374482,121.507769823],[31.1724970773,121.508273353],[31.1792852781,121.508606064],[31.1832985626,121.508608549],[31.1851825794,121.509206276],[31.17431052,121.5100842],[31.182263501,121.51125373],[31.1786308724,121.512254477],[31.1755543518,121.512267888],[31.1861996931,121.512332505],[31.1841562931,121.512746316],[31.1808549176,121.512758195],[31.17552126,121.51381378],[31.181088564,121.514170929],[31.1773934696,121.51440227],[31.1807629466,121.495321691],[31.1477158511,121.486514162],[31.1464118201,121.486942901],[31.1481798914,121.487146969],[31.1491440561,121.487968565],[31.1469889315,121.488070437],[31.1465799809,121.488291621],[31.1503279209,121.490249634],[31.1485773677,121.490626286],[31.1481338739,121.491187066],[31.1473995884,121.491838671],[31.1421145876,121.493120722],[31.145969823,121.493217152],[31.1487615108,121.494368166],[31.1484843809,121.494679145],[31.1431449652,121.495168805],[31.1499436548,121.497136125],[31.1418682337,121.497180462],[31.1447703838,121.497636437],[31.1466163559,121.497692517],[31.1449357844,121.498534597],[31.1444963759,121.501642612],[31.1436167361,121.508944387],[31.1510252953,121.508976817],[31.1465246438,121.509119778],[31.1465089688,121.509183438],[31.1418672914,121.510917508],[31.13894978,121.51405114],[31.1436472368,121.51513598],[31.1469241978,121.515169144],[31.1511745696,121.51615105],[31.1399396097,121.518383102],[31.1425356248,121.518383218],[31.1489863693,121.518944353],[31.1417285414,121.51906027],[31.1525463013,121.519801273],[31.1469724774,121.520322561],[31.162301302,121.520456672],[31.1629208853,121.5205922],[31.1425308311,121.520997843],[31.1532031024,121.521582807],[31.1508040213,121.521828313],[31.1442071199,121.521873772],[31.1457949878,121.522041857],[31.1474725897,121.523021505],[31.1414273254,121.523188381],[31.1446542796,121.52345116],[31.1443668,121.523602162],[31.1467337444,121.523929755],[31.1446055691,121.52457407],[31.150471228,121.525054635],[31.1432202719,121.525643048],[31.1418055999,121.526081724],[31.1465479442,121.526326116],[31.1448471009,121.528623823],[31.2420755625,121.529361606],[31.2447611131,121.529716995],[31.2384482273,121.531381998],[31.2444129729,121.532958386],[31.2423920631,121.534034014],[31.2317803183,121.536218686],[31.2352978185,121.536434764],[31.2457555532,121.536480188],[31.2332135439,121.536587477],[31.2468043662,121.537923887],[31.2487757206,121.538314819],[31.2381341046,121.538868387],[31.2462820183,121.539280899],[31.2435856462,121.539672017],[31.2305022806,121.539866246],[31.2348926067,121.54029429],[31.2384411693,121.540310078],[31.2452700734,121.540592015],[31.2491780519,121.541018486],[31.2397297127,121.541509148],[31.2506103516,121.542246938],[31.2412279844,121.542488337],[31.2341791391,121.542568803],[31.2332169054,121.542826064],[31.242595911,121.543260813],[31.237583,121.543687402],[31.2316568524,121.545226604],[31.2483663493,121.545586127],[31.2460740991,121.545833339],[31.2412993876,121.545883582],[31.2498121107,121.546180969],[31.2352412939,121.546286345],[31.2387786449,121.546467223],[31.2440094352,121.546863019],[31.2510180473,121.547611356],[31.2479314663,121.547627721],[31.2349660732,121.548293661],[31.2496757554,121.54936141],[31.2486281991,121.549767852],[31.2397634983,121.550207734],[31.2467862288,121.550765171],[31.2477617686,121.551439047],[31.2437492609,121.551629305],[31.2443715334,121.55167222],[31.2360942364,121.552285552],[31.2394986661,121.553493095],[31.2468997333,121.553766646],[31.2425208092,121.554247141],[31.2450979278,121.557241326],[31.2384063005,121.558490396],[31.2452620267,121.346014449],[31.256441474,121.346719265],[31.2457126379,121.349154711],[31.2520238757,121.350025923],[31.2476467819,121.350305378],[31.2480407953262,121.35317266],[31.246522665,121.353955865],[31.2614303827,121.355323792],[31.24665911,121.35747804],[31.242890954,121.357485652],[31.2467050552368,121.358113289],[31.247600913,121.358215213],[31.2567810279,121.359302346],[31.24941,121.36030575],[31.2510430812,121.365782685],[31.25680089,121.365923882],[31.2464666686,121.366908252],[31.2490278482,121.370832324],[31.2564951181,121.370885968],[31.2550842762,121.371685266],[31.2563556433,121.373702288],[31.2584336084,121.373898646],[31.1741005691,121.47676105],[31.169441981,121.477854687],[31.1730152434,121.478363361],[31.1670668846,121.479757958],[31.1722996017,121.480190753],[31.1678961816,121.48124755],[31.1701876591,121.481527468],[31.1681316802,121.48193102],[31.1745336381,121.483676198],[31.1747462591,121.48564787],[31.1696914905,121.485879421],[31.1740074002,121.486121642],[31.1759175031,121.486645261],[31.1714492474,121.487016255],[31.1807022832,121.487484167],[31.1782204189,121.487506393],[31.1744029272,121.487717029],[31.1680112654,121.488075235],[31.170671095,121.488653101],[31.1777348022,121.48972545],[31.1746925986,121.490595371],[31.1691262442,121.491670286],[31.1490780115,121.518895626],[31.2685275078,121.568446755],[31.2704313882,121.570202031],[31.27420664,121.57231349],[31.2877804041,121.572443247],[31.2744247909,121.573010087],[31.2744247909,121.573010087],[31.2744247909,121.573010087],[31.2693482637,121.573451757],[31.2839367986,121.573832631],[31.2862509358,121.574475055],[31.2695722282,121.574576944],[31.2861781632,121.574945493],[31.2631396326,121.575040298],[31.2590736,121.57517587],[31.2751418352,121.575323939],[31.2603521347,121.575436592],[31.2761449814,121.575447321],[31.2806645036,121.576045454],[31.2875765562,121.576300263],[31.28545,121.576813843],[31.2679105997,121.576850116],[31.2661363184,121.57743752],[31.2653973699,121.577547491],[31.2807261944,121.577759385],[31.2677907945,121.578149199],[31.2743371725,121.578226089],[31.2821826339,121.578507721],[31.2591290474,121.578668654],[31.271304,121.578898486],[31.2614786625,121.579154134],[31.2755656242,121.579180956],[31.2776309252,121.579594016],[31.2876033783,121.579954773],[31.2689548729,121.579984724],[31.2721860409,121.580264568],[31.2858331203,121.580629349],[31.2629806995,121.580640078],[31.2683129311,121.581219435],[31.2650996447,121.581412554],[31.2763850391,121.581818908],[31.280425787,121.582340598],[31.2724444271,121.582585573],[31.2872385979,121.582595408],[31.2702441216,121.582893133],[31.2661510702,121.583082676],[31.2854897976,121.583681703],[31.2854897976,121.583681703],[31.2757346034,121.583681703],[31.2838590145,121.583949924],[31.2735486031,121.5841645],[31.2558621168,121.553136706],[31.25098563,121.5553566],[31.25616117,121.55575109],[31.2557655573,121.556001306],[31.25143906,121.55676014],[31.2496125698,121.557304859],[31.24943616,121.55763901],[31.2631523609,121.558227539],[31.25451343,121.55896365],[31.2515920401,121.559799314],[31.25444986,121.56073162],[31.2515759468,121.561054587],[31.2595152855,121.561827064],[31.2595152855,121.561827064],[31.2463644147,121.562240124],[31.2492330209,121.563132227],[31.24195004,121.56338574],[31.24484324,121.56434196],[31.2615993619,121.564544141],[31.2554115057,121.564970613],[31.25477369,121.56498044],[31.2674117088,121.565523148],[31.2527990341,121.565625072],[31.2473541498,121.565839648],[31.2594704135,121.566016674],[31.2435722351,121.566810608],[31.24875627,121.56716759],[31.264104,121.56758254],[31.24233209,121.56797344],[31.2523698807,121.568505764],[31.2501382828,121.569208503],[31.24924241,121.56952787],[31.24924241,121.56952787],[31.246587038,121.570259929],[31.2565106881,121.570866108],[31.2604115022,121.570913145],[31.2443634868,121.570938528],[31.252117753,121.57204628],[31.2563330052,121.573038697],[31.2523108721,121.574615836],[31.2486630678,121.574771404],[31.2596333027,121.57504499],[31.2448275089,121.575468779],[31.2470805645,121.57564044],[31.2458199263,121.576614082],[31.2548321486,121.576965451],[31.2580347061,121.577796936],[31.2568813562,121.577957869],[31.2535259128,121.578770578],[31.249242425,121.579057574],[31.2470859289,121.5806669],[31.2566648543,121.581025471],[31.2541481853,121.581232846],[31.25674056,121.58150914],[31.2525200844,121.582120657],[31.2499290705,121.584137678],[31.2524047494,121.586202979],[31.3227134943,121.625164747],[31.26237444,121.58238601],[31.2562429905,121.583563685],[31.2589821189,121.584114592],[31.2585584413,121.586248354],[31.275135,121.586360769],[31.2702588462,121.586478286],[31.2683958493,121.586735049],[31.27432,121.586932276],[31.2626159191,121.58755213],[31.2548296918,121.587595626],[31.2763756514,121.587884724],[31.2666714191,121.588008106],[31.2648591768,121.588351678],[31.2700858712,121.588737667],[31.2573426962,121.588793993],[31.2741462798,121.588902678],[31.2714738631,121.58929646],[31.2560257316,121.590000987],[31.2809913098,121.590210648],[31.2744505755,121.590255661],[31.2786381373,121.590731464],[31.2623181939,121.59202069],[31.2711399794,121.592114568],[31.2871526763,121.592408847],[31.2810223918,121.592466798],[31.2836573822,121.592494474],[31.2723174691,121.592685878],[31.2746107578,121.592865586],[31.2576117174,121.592938135],[31.2776067853,121.593125761],[31.2669190673,121.593127802],[31.2751150131,121.594415903],[31.27939172,121.594533372],[31.2690612674,121.59580797],[31.2637483879,121.596166031],[31.264783144,121.596282721],[31.2612828612,121.596894264],[31.2790113614,121.597011017],[31.2739777565,121.597371697],[31.2649269411,121.59771605],[31.2839689851,121.598157585],[31.2791145845,121.598540537],[31.274627673,121.598626608],[31.2778224005,121.59863197],[31.2665775418,121.599418223],[31.2687850523,121.599829333],[31.1959254742,121.501386166],[31.2031459808,121.502442956],[31.1919987202,121.502507329],[31.2031298876,121.503295898],[31.1975643039,121.503376365],[31.1998790503,121.503706276],[31.1908775568,121.503751874],[31.1931788921,121.50454849],[31.2038058043,121.504905224],[31.2036368251,121.505043358],[31.1982321739,121.505098343],[31.1954641342,121.505683064],[31.2009073295,121.506139729],[31.1950704368,121.506587487],[31.1983421445,121.506825686],[31.2027651072,121.506997347],[31.1933612823,121.507560611],[31.1953681066,121.507846943],[31.1997261643,121.507995129],[31.1990207434,121.5083009],[31.197116375,121.50899291],[31.2011611462,121.509057283],[31.1923420429,121.509073377],[31.1975455284,121.510382295],[31.2002465129,121.511822641],[31.1994498968,121.511828005],[31.1911591887,121.512235701],[31.2031030655,121.512292027],[31.2018048763,121.513402462],[31.1885307839,121.513826536],[31.1955982107,121.514368783],[31.1838179827,121.514625549],[31.1966864386,121.515066122],[31.1981785297,121.515258551],[31.1977118254,121.515907645],[31.1889946461,121.516975164],[31.1924520135,121.517160237],[31.1854809523,121.517656446],[31.1864089966,121.517822742],[31.2033390999,121.517956853],[31.2008392811,121.518080235],[31.1903572083,121.518187523],[31.1875247955,121.51830554],[31.1924922466,121.520070434],[31.1930622275,121.520706479],[31.1900452326,121.523375979],[31.1954254991,121.523596066],[31.1922958858,121.524329085],[31.194056565,121.524798417],[31.2036556688,121.526496234],[31.19553306,121.52717523],[31.19029304,121.52735815],[31.1946764655,121.528111553],[31.1924052191,121.528795439],[31.209017595,121.529007245],[31.1945894057,121.530674227],[31.198554039,121.531078219],[31.2106410266,121.531464032],[31.1902789013,121.531504685],[31.2010605601,121.532946039],[31.2116465956,121.533349205],[31.202669878,121.53362073],[31.2073602948,121.534058605],[31.202494204,121.535855234],[31.2155863175,121.536256498],[31.2069987206,121.536477801],[31.1923527718,121.536769867],[31.2019533759,121.536871361],[31.19416131,121.53803575],[31.2130647898,121.538110971],[31.2061703495,121.539388489],[31.21091861,121.53950723],[31.2035981991,121.540196938],[31.2062479965,121.542500782],[31.2090532302,121.542563749],[31.20420626,121.543902864],[31.2113592954,121.544000129],[31.2081241608,121.544505358],[31.2006555961,121.545188751],[31.206825577,121.545421511],[31.2093027552,121.546433526],[31.2064096002,121.547709217],[31.2298178673,121.550261378],[31.2106798965,121.550294433],[31.1964856704,121.550325486],[31.1949237343,121.550745359],[31.2274494767,121.550926566],[31.2040632963,121.55125916],[31.210204229,121.552044969],[31.226209,121.552358969],[31.2122825108,121.552656614],[31.1976995646,121.552807412],[31.1947238361,121.553462184],[31.2071362856,121.55368857],[31.20706853,121.553747692],[31.2293350697,121.556156874],[31.1974865198,121.557149291],[31.2268969417,121.557460427],[31.22926659,121.558090159],[31.1982486583,121.558321148],[31.21517459,121.559208741],[31.2148059054,121.55999011],[31.198763815,121.56007659],[31.2292009592,121.560432315],[31.1967151375,121.561633158],[31.23232351,121.56212585],[31.217404604,121.562154293],[31.227719453,121.56451328],[31.1985044413,121.565190962],[31.2281471066,121.569566095],[31.2176406384,121.571702957],[31.233823942,121.57197193],[31.23867832,121.57239807],[31.2364697456,121.572405696],[31.2388139963,121.572649777],[31.1915897047411,121.536667943492],[31.1305051989,121.648153974],[31.1304603237,121.648242145],[31.1617781689,121.655153019],[31.163938,121.660178925],[31.1639485065,121.660227068],[31.1738420253,121.660955903],[31.17562753,121.662831147],[31.1928087473,121.663783193],[31.1648402779,121.66481472],[31.1961829662,121.664945582],[31.16733809,121.665300304],[31.1935264755,121.66702586],[31.1855377895,121.667198408],[31.1861036454,121.668862703],[31.1945320666,121.670370698],[31.1983689666,121.670620143],[31.1964124755,121.673278291],[31.1559069162,121.676517427],[31.18955731,121.677596729],[31.1775577068,121.679699421],[31.1769273483,121.680091739],[31.19428128,121.680737436],[31.1918780208,121.680809855],[31.2013676763,121.680941284],[31.1991146207,121.68094933],[31.1868931353,121.68110624],[31.092359971,121.681238141],[31.1162269808,121.68175112],[31.1244636395,121.682204155],[31.1986130476,121.682963669],[31.1948472261,121.685014218],[31.18918939,121.685069997],[31.1951449513,121.685140282],[31.16277931,121.68580034],[31.1977346241,121.686049551],[31.1445247065,121.686672932],[31.17796158,121.686933419],[31.19768461,121.687005382],[31.18596685,121.687315761],[31.1909687519,121.687933803],[31.17448639,121.688000201],[31.19696203,121.688061996],[31.1757284403,121.688169837],[31.1625958229,121.688575769],[31.18380923,121.688793368],[31.2011571229,121.688879281],[31.18519318,121.68888458],[31.1851429939,121.6889745],[31.1938333511,121.689414382],[31.18769257,121.689744191],[31.20106209,121.69017523],[31.1817542789,121.69070932],[31.193498075,121.692203879],[31.1742871997,121.692566871],[31.1851496994,121.692576706],[31.1733642483,121.693229207],[31.19239121,121.693701334],[31.2017208351,121.69395313],[31.13017032,121.694346205],[31.1211588979,121.694701016],[31.10950186,121.695344734],[31.19414806,121.695597352],[31.18986208,121.695657342],[31.20109371,121.696148921],[31.1787298322,121.69629693],[31.19819319,121.696700283],[31.1081260443,121.697160602],[31.142747387,121.698039297],[31.19047619,121.698369272],[31.142507,121.698422383],[31.19547367,121.69867308],[31.1946299672,121.698815525],[31.1926404879,121.699427035],[31.1908592487,121.69980526],[31.1828295,121.700506803],[31.19763223,121.701075644],[31.1511714756,121.701462865],[31.1802130938,121.701696217],[31.1940559745,121.701983213],[31.198489666,121.703442335],[31.11153306,121.703700239],[31.1935765296,121.704698279],[31.1800213158,121.705333292],[31.112812,121.705390964],[31.1817982793,121.705911309],[31.1777406348,121.706477558],[31.17774578,121.706483173],[31.1933451891,121.707854569],[31.1219072342,121.708409786],[31.16168201,121.708534014],[31.1130135264,121.709058023],[31.1682089439,121.709142944],[31.0968769275,121.709486232],[31.16791584,121.709918318],[31.1402910921,121.710321387],[31.1839842796,121.71077013],[31.18155302,121.711278171],[31.1833029985,121.711298525],[31.158425,121.713631385],[31.1583531554,121.713933835],[31.1130918688,121.714454069],[31.14850543,121.717259359],[31.1484235902,121.717355742],[31.12301245,121.717796696],[31.1270910502,121.719438136],[31.157204,121.719935115],[31.1690497373,121.720432914],[31.1689421,121.72050319],[31.15689742,121.721351903],[31.1830921333,121.721999104],[31.1827955241,121.722022534],[31.15833341,121.723550785],[31.1857545376,121.724140942],[31.201769709,121.725774313],[31.15788591,121.726448391],[31.1578383438,121.726596095],[31.1802788028,121.727984582],[31.180218,121.728022281],[31.20260882,121.729461693],[31.1402195312,121.729717757],[31.1494616837,121.731283608],[31.1974436045,121.732002497],[31.1966231561,121.732006236],[31.1431561847,121.732782125],[31.1884654839,121.733412368],[31.1264499482,121.735501934],[31.1264910378,121.736829656],[31.1639017255,121.739448739],[31.1637942131,121.742645495],[31.20468105,121.713176472],[31.2405836405,121.717738069],[31.2330365181,121.719503403],[31.2331867218,121.722593307],[31.2370303273,121.723255813],[31.2160044909,121.728622913],[31.2512715161,121.729392707],[31.263431708,121.7298589],[31.217463414,121.73135154],[31.2280958891,121.736358404],[31.2280958891,121.736358404],[31.222866393,121.73985989],[31.2304620047328,121.722001433482],[31.2848353386,121.629939079],[31.27332915,121.631562081],[31.263219704,121.642064106],[31.2754583359,121.644653678],[31.27493816,121.64649216],[31.2748990467,121.646516179],[31.2751150131,121.648998857],[31.2755361199,121.649177223],[31.2651193143,121.652097702],[31.2687259912,121.652201414],[31.2720497214,121.653354755],[31.2833678221,121.656276217],[31.2741013919,121.656821966],[31.2781137228,121.657791138],[31.2801331,121.65837838],[31.2792885303,121.659185886],[31.2962588668,121.659698188],[31.274535656,121.660430431],[31.2848366519,121.661291638],[31.2977206707,121.662222147],[31.2930113908,121.66241121],[31.2775987387,121.662758589],[31.2799036502,121.663867235],[31.2930858135,121.664019227],[31.2930858135,121.664019227],[31.2806564569,121.664931178],[31.28857235,121.666150249],[31.2941832594,121.666631508],[31.2657622976,121.6673413],[31.2748208,121.66783832],[31.284784814,121.668757117],[31.266990602,121.668839157],[31.2820672989,121.669930816],[31.2915493472,121.670345868],[31.2656152687,121.670582531],[31.28848155,121.670770142],[31.2776285543,121.671720382],[31.2841862442,121.672122717],[31.2858760357,121.672135592],[31.29682578,121.672556735],[31.280785203,121.672572792],[31.28072083,121.672596931],[31.29696939,121.67286439],[31.2947344781,121.67355001],[31.2907415628,121.673879027],[31.2772098184,121.67457372],[31.2660169601,121.674930453],[31.2832642347,121.675609723],[31.2791383266,121.678090096],[31.2949982285,121.678586304],[31.2602460458,121.67866645],[31.26882036,121.679837914],[31.2725002737,121.682189727],[31.261446476,121.683607399],[31.2651720645,121.684772372],[31.268350482,121.685806811],[31.2677684426,121.686147451],[31.25778013,121.6867084],[31.2831526994,121.686971784],[31.2537069619,121.688729078],[31.26600555,121.69148236],[31.26599004,121.691490599],[31.2723469734,121.694395244],[31.2621280936,121.69625332],[31.25805341,121.69793518],[31.2577464,121.697974676],[31.26533257,121.710734873],[31.33430857,121.610728668],[31.335362792,121.611694694],[31.29142697,121.61482211],[31.3431751727,121.61619544],[31.29426471,121.616849487],[31.327380538,121.61813736],[31.3285519942,121.619920986],[31.293823421,121.620564759],[31.3253474236,121.620974342],[31.3258074224,121.62163496],[31.2947702408,121.623753905],[31.3204818964,121.624762416],[31.3228970447,121.62518169],[31.3317225899,121.62897707],[31.31301944,121.629010765],[31.31494748,121.629177051],[31.3206486398,121.629378992],[31.3170915842,121.629837155],[31.3064539433,121.629837155],[31.33441,121.631113351],[31.32555439,121.638958633],[31.33357422,121.639142342],[31.312494278,121.656010151],[31.3160830736,121.657547057],[31.3179284334,121.660296321],[31.3476634026,121.240643263],[31.3314092159,121.242746115],[31.3535259534,121.246137829],[31.3484568,121.247366488],[31.3572603464,121.250916123],[31.3326323032,121.250942945],[31.3267797231,121.260209441],[31.351056397,121.260960996],[31.3274690509,121.266062558],[31.3527113199,121.27201438],[31.3238141201,121.272111729],[31.3459146023,121.272432804],[31.3727974897,121.273331728],[31.3582476418,121.277072688],[31.3333806396,121.278626025],[31.3772428036,121.278714538],[31.3910186291,121.280694008],[31.354765892,121.281359196],[31.3604038954,121.281670332],[31.380289793,121.282196045],[31.3285499811,121.285414696],[31.3430285454,121.290028095],[31.3765776157,121.290897131],[31.3785458208,121.291025877],[31.375990212,121.29394412],[31.3322085142,121.296476126],[31.3473263382,121.299985739],[31.3766044378,121.300102472],[31.370035708,121.3003546],[31.3364249468,121.30915761],[31.3718870587,121.314403334],[31.3397482038,121.320151985],[31.3585799932,121.321586967],[31.3500586152,121.321911514],[31.3541328907,121.324596405],[31.3425189257,121.329697967],[31.33245730249,121.270248591791],[31.331220229628,121.270703673472],[31.3352916516685,121.279697120135],[31.3584863686756,121.297321021557],[31.3556364039554,121.313531398501],[31.3768071981,121.507845981],[31.3651786662,121.510591579],[31.3619276342,121.51818154],[31.3744410405,121.521818934],[31.3595230486,121.525393858],[31.3613701008,121.527595487],[31.3720990894,121.528277329],[31.3612699063,121.528697241],[31.3628301135,121.529158469],[31.3663667496,121.532504046],[31.3689363522,121.534926757],[31.3675224781,121.537268758],[31.366603286,121.539468812],[31.3700827411,121.543303342],[31.3781074567,121.551730966],[31.3587348881,121.554804322],[31.3494412023,121.559254202],[31.3479520898,121.560180397],[31.3558620465,121.564857895],[31.3419319568,121.564981221],[31.3441658035,121.566645896],[31.3534692442,121.566758554],[31.3379728829,121.567142738],[31.3492006687,121.567170574],[31.3411976526,121.568118477],[31.3509785859,121.568644838],[31.3379442181,121.5689964],[31.3453090811,121.569549755],[31.3432311606,121.570533295],[31.3453352451,121.570954621],[31.3380863485,121.572005239],[31.3527115285,121.572114374],[31.3539232768,121.572376387],[31.3648939133,121.572539806],[31.3448643785,121.572758313],[31.347863198,121.573384385],[31.3614821437,121.573624492],[31.3526016508,121.57447587],[31.3404804468,121.574760675],[31.3451743126,121.575790644],[31.3343267657,121.576548312],[31.3479230738,121.576682512],[31.3527684009,121.577448316],[31.3458099961,121.577813029],[31.3543581991,121.578214386],[31.3622673625,121.57856338],[31.3463081376,121.579886307],[31.343613492,121.580935573],[31.3499941144,121.581573316],[31.3488205716,121.581887269],[31.3393297652,121.582312017],[31.3393807411,121.58322975],[31.3420434442,121.584511702],[31.338841406,121.585579593],[31.3353028421,121.585661642],[31.3560292125,121.587723792],[31.3549187779,121.532287896],[31.2952288985,121.571292579],[31.2903122486,121.571579143],[31.2930428982,121.571759284],[31.2956982851,121.57338202],[31.2920894558,121.573765411],[31.2954112887,121.574905515],[31.2990586048,121.5759343],[31.3002634048,121.577552855],[31.3007730246,121.578226089],[31.3310512398,121.579815062],[31.3086479902,121.580430865],[31.3112658262,121.580479145],[31.2955909967,121.580731273],[31.3149859304,121.581314079],[31.293514967,121.581702232],[31.3086603709,121.583144412],[31.2975114584,121.584234238],[31.3003331423,121.584556103],[31.3298803568,121.585178375],[31.3031816483,121.585360765],[31.3288664818,121.586460471],[31.2915971875,121.58711493],[31.31421704,121.588257551],[31.323453784,121.588745713],[31.2976748451,121.589299065],[31.3316935301,121.589311659],[31.2955695391,121.589641571],[31.3295182586,121.590797603],[31.286429,121.60411678],[31.2966609147,121.604737978],[31.2979647517,121.605488062],[31.2870366751,121.605854504],[31.2932789326,121.606193483],[31.3046702743,121.607794762],[31.3049590831,121.607939434],[31.293104589,121.608041525],[31.2985789776,121.608213186],[31.2982866168,121.609508693],[31.2865653634,121.610042453],[31.283598,121.610322353],[31.28439739,121.61126768],[31.2893870473,121.624142826],[31.2435346842,121.578668654],[31.2536260179,121.585644037],[31.2492031473,121.587595045],[31.2488240004,121.587667465],[31.2475377551,121.588865277],[31.2407637593,121.592710472],[31.2409865856,121.594963845],[31.2390580773,121.598632336],[31.2351554632,121.601440609],[31.2815952301,121.60384655],[31.2736438215,121.606180072],[31.2650325894,121.607285142],[31.2663146853,121.608038843],[31.2712901831,121.609956622],[31.2652015686,121.610611081],[31.2682056427,121.610656679],[31.2730658054,121.610932946],[31.2678408623,121.612644196],[31.2406721907,121.615466774],[31.2653464079,121.618298292],[31.2424483895,121.62543565],[31.2427031994,121.625754833],[31.2410557069,121.627178639],[31.2411314249,121.627184451],[31.2416879833,121.632082164],[31.244687,121.63215632],[30.9007872641,121.802946925],[31.144691,121.527233367],[31.2112182051,121.577535182],[31.214135,121.579790872],[31.203187,121.58270174],[31.1886304215,121.590425235],[31.1886304215,121.590425235],[31.156118,121.590893643],[31.2006488442,121.591588855],[31.2043368816,121.593305469],[31.2027756548,121.595912893],[31.2059861,121.59819256],[31.2079203129,121.598498225],[31.2023252249,121.603087485],[31.159775134,121.60454346],[31.1801196522,121.605288357],[31.1811243981,121.605651677],[31.2064686663,121.608256224],[31.1828657985,121.608999074],[31.2091385238,121.609544501],[31.2024679317,121.609639271],[31.2183701992,121.609725952],[31.2216103077,121.610868573],[31.2029314041,121.611056328],[31.2068852975,121.611533759],[31.2018525789,121.612280736],[31.216283394,121.614650308],[31.2105281236,121.615475276],[31.2206929922,121.616364419],[31.2086798481,121.61918257],[31.2027379741,121.619366141],[31.2110155821,121.621052921],[31.1790018906,121.621514372],[31.1915056113,121.622856228],[31.1790528097,121.623664855],[31.1996748485,121.623753905],[31.2053588033,121.625939906],[31.1917478119,121.626091182],[31.2017311803,121.627189344],[31.1831051767,121.627192849],[31.1699626786,121.627416642],[31.1979467595,121.628057144],[31.1819220162,121.629379485],[31.2017290163,121.629413366],[31.1763292551,121.629456282],[31.1845441767,121.629510462],[31.1873745918,121.630698144],[31.1831372613,121.631114089],[31.2006434798,121.631301641],[31.1835926771,121.631714702],[31.1848688887,121.632009852],[31.2024113881,121.632129966],[31.1920675261,121.633353531],[31.1826704812,121.633614962],[31.2028509378,121.63444519],[31.2060159445,121.634745598],[31.1890388974,121.634996924],[31.1846226454,121.636784077],[31.168653945,121.636908939],[31.179735009,121.637748778],[31.1794463642,121.637866685],[31.1765089631,121.639796197],[31.1639052629,121.645664871],[31.1881981531,121.654535963],[31.1888082545,121.654679843],[31.2221808869,121.644548178],[31.21450706,121.644953467],[31.2002974749,121.64837122],[31.2139081618,121.648501125],[31.20587342,121.649618421],[31.2121742964,121.649814248],[31.2211623788,121.651300192],[31.23065469,121.65174411],[31.2027597427,121.651836634],[31.21610797,121.65269574],[31.21666533,121.653021278],[31.2040686607,121.653172374],[31.2099426985,121.658649445],[31.2110826373,121.663238704],[31.2302996138,121.664534479],[31.2392478569,121.664977551],[31.21357901,121.66526637],[31.2093461508,121.665702433],[31.2435346,121.669306949],[31.22466984,121.672133775],[31.25564911,121.673533356],[31.2456429005,121.674162],[31.243336,121.675650236],[31.2376769779,121.677092595],[31.2433683872,121.677312255],[31.2381488085,121.67827785],[31.2465468049,121.682523787],[31.2413848202,121.682846212],[31.2189120054,121.685750484],[31.2160076495351,121.653252840042],[31.1696854234,121.516181231],[31.1758410931,121.516434699],[31.1816331226,121.517770024],[31.1799529195,121.518927813],[31.1764875054,121.519609094],[31.1812672019,121.520142853],[31.1849579215,121.520392299],[31.1824567616,121.520625651],[31.1880263686,121.522114277],[31.1715656519,121.52664721],[31.1856159815,121.526865006],[31.1789765954,121.52828604],[31.1853387952,121.528534144],[31.1839221032,121.528814281],[31.1875408888,121.530700028],[31.1832198501,121.531432271],[31.1787419021,121.531457752],[31.1738803983,121.531689763],[31.173062707,121.532929047],[31.1742022634,121.533645093],[31.18726899,121.53388992],[31.184347719,121.534268707],[31.1834317446,121.535098851],[31.1923205853,121.536769867],[31.1790972948,121.536946893],[31.172477603,121.537815928],[31.1709795892,121.537864879],[31.1764258146,121.53983295],[31.1705383658,121.539873183],[31.1878681183,121.540141404],[31.1696840823,121.541825831],[31.1813610792,121.542469561],[31.1746408045,121.543008685],[31.1856123805,121.543081105],[31.1728075147,121.543789208],[31.1827866733,121.544163376],[31.1736229062,121.544961333],[31.1762903631,121.546140164],[31.1869218349,121.546143404],[31.1731790006,121.546440572],[31.1836235225,121.54698506],[31.172653472,121.547578096],[31.1873840041,121.549867486],[31.191110909,121.550108492],[31.1809095526,121.55015945],[31.1809095526,121.55015945],[31.1775253404,121.551321387],[31.1893728375,121.551353037],[31.18698103,121.55184921],[31.1809211969,121.551998109],[31.1732326448,121.552561373],[31.1718285084,121.55282557],[31.1842634,121.55472288],[31.1828304769,121.55517519],[31.1846482217,121.555749179],[31.1823417033,121.55587256],[31.1772300685,121.556169748],[31.1885212362,121.556332558],[31.1859503388,121.559179723],[31.1728658064,121.559402347],[31.1813423038,121.559820771],[31.1557164788,121.560700536],[31.1917506158,121.560724676],[31.1777454615,121.561003625],[31.1593186855,121.561038494],[31.1715763807,121.562293768],[31.1765626073,121.56372875],[31.1603709011,121.564061344],[31.1579401461,121.564774275],[31.1602948004,121.565567282],[31.1581790352,121.568695933],[31.1605719521,121.569663674],[31.1633192123,121.569777131],[31.1625939214,121.570950866],[31.1919462476456,121.547941267491],[31.1532649398,121.471659243],[31.1544978157,121.473141256],[31.1551451683,121.473587751],[31.1622758481,121.476273179],[31.1505782284,121.476985574],[31.1550486088,121.478447914],[31.15682578,121.484764033],[31.16441633,121.486308144],[31.16441633,121.486308144],[31.1599785089,121.488313079],[31.1575913429,121.488822699],[31.1826629915,121.490056515],[31.16611879,121.490166419],[31.1608341336,121.490322053],[31.16205395,121.49052654],[31.1658284068,121.490592957],[31.16457629,121.491418818],[31.1555340886,121.491542459],[31.1655145884,121.49233371],[31.1269283295,121.492706537],[31.1527458,121.494224711],[31.1401838064,121.494492888],[31.1388969,121.49473948],[31.1388478627,121.494871226],[31.1413369588,121.495295006],[31.16014969,121.495813832],[31.15967195,121.496152576],[31.12806234,121.496695883],[31.1529296637,121.497073174],[31.12230787,121.497167691],[31.16666781,121.497311676],[31.1678051949,121.497437954],[31.1229506135,121.497582793],[31.1376345958,121.498172879],[31.16428486,121.498918702],[31.1405351758,121.49897486],[31.138439,121.499106735],[31.12674496,121.499664422],[31.13668787,121.499751027],[31.1372816563,121.499814391],[31.16035943,121.500430352],[31.122789681,121.500997245],[31.1665391922,121.501300335],[31.1641386151,121.501992345],[31.1279368401,121.502813101],[31.15670684,121.502930591],[31.1520445347,121.503430009],[31.12976919,121.503614069],[31.1595761776,121.503628492],[31.16310667,121.503647406],[31.12573326,121.503911904],[31.1646617991,121.504550581],[31.124881804,121.50498569],[31.1552631855,121.505409479],[31.12464365,121.505847031],[31.13111508,121.507830718],[31.1292970084,121.50809996],[31.1384618282,121.508756876],[31.1625748873,121.508944631],[31.15860638,121.514543683],[31.155135416,121.514709165],[31.1224835424,121.515642914],[31.1246194139,121.521559468],[31.1606089,121.523108838],[31.1614684073,121.524181621],[31.165471673,121.5246141],[31.16337308,121.524765203],[31.13825584,121.528260934],[31.14995725,121.530360914],[31.1704713106,121.530396938],[31.1641864467,121.530877054],[31.15382223,121.531501756],[31.1709311089,121.531732841],[31.169398427,121.532196701],[31.1611640453,121.533025503],[31.1648064852,121.533808708],[31.157720089,121.534404159],[31.1676813867,121.534803808],[31.16400128,121.535750628],[31.1449651265,121.536478043],[31.1460385957,121.5394333],[31.1464816332,121.541785598],[31.032479179,121.71076822],[31.040389971,121.71640453],[31.0505290529,121.72908232],[31.0715555568,121.73178792],[31.04205189,121.73211042],[31.070584046,121.732718398],[31.02743353,121.733386517],[31.02636077,121.73358648],[31.0681740432,121.733684242],[31.063284874,121.73473835],[31.04939556,121.734908121],[31.03847007,121.736358144],[31.056672318,121.737594216],[31.03787247,121.738237174],[31.039347577,121.738606095],[31.06479183,121.73912382],[31.062592864,121.739829183],[31.0591269956,121.740708947],[31.0700114191,121.740735769],[31.0593425457,121.741251648],[31.0558420847,121.743460894],[31.0545292241,121.743659377],[31.0296205288,121.743841645],[31.071395874,121.744340658],[31.0737385204,121.744928062],[31.0659388346,121.745141745],[31.046789,121.745411148],[31.07386517,121.74635629],[31.05946559,121.74656199],[31.0697537877,121.746741235],[31.04435287,121.74830294],[31.0469873857,121.748326421],[31.049970864,121.748842299],[31.0304392457,121.749153011],[31.054333487,121.750103896],[31.04526276,121.750276708],[31.0526681372,121.751304566],[31.0740579644,121.751459241],[31.0772650011,121.751650572],[31.0441799223,121.753737498],[31.0566647331,121.754879057],[31.04806107,121.75550044],[31.0555406347,121.757302165],[31.0607544699,121.75739425],[31.0487968647,121.757737398],[31.0480897574,121.758264899],[31.0359526408,121.758491993],[31.0369775404,121.758631468],[31.0361055708,121.759417355],[31.0371786988,121.759528399],[31.0701406002,121.759682894],[31.0323196774,121.760231147],[31.0431411746,121.760689616],[31.0562729651,121.76074202],[31.0506033897,121.761190295],[31.0453413589,121.762182713],[31.0369077837,121.762182713],[31.057968313,121.763239503],[31.05985915,121.763875425],[31.0492998362,121.764371395],[31.05713803,121.764488062],[31.0450462786,121.767497063],[31.0653416739,121.767541766],[31.0531689306,121.770036221],[31.028147161,121.77022136],[31.0376751423,121.77156508],[31.0272029358,121.772708384],[31.0590071976,121.773583442],[31.0677691032,121.779541969],[31.0588480667,121.780102551],[31.067439357,121.783521473],[31.0555882,121.787562287],[31.0014136455,121.792864494],[31.05804006,121.795630045],[31.0422004844,121.799458265],[30.99536963,121.842097396],[31.0855884766,121.628471911],[31.0763317031,121.629812121],[31.0221179337,121.632353067],[31.0368085736,121.632776856],[31.0330185116,121.634057164],[31.060706788,121.637272239],[31.0402418548,121.637629962],[31.0240597754,121.640133262],[31.02432989,121.640486061],[31.029728519,121.640760898],[31.0216019396,121.641267929],[31.068971024,121.64154196],[31.0041704147,121.641744543],[31.0268007722,121.641850003],[31.0227582511,121.644734681],[31.0270791849,121.645225882],[31.0753625925,121.64555043],[31.0752918602,121.647613943],[31.0684409202,121.648794008],[31.0279709101,121.64970696],[31.0265542848,121.651349638],[31.03570992,121.654480058],[31.0502301323,121.657069623],[31.020395945,121.65904241],[31.0728170469,121.659110785],[31.0702313293,121.670877635],[30.9959154199,121.672575474],[31.0396925888,121.674913466],[31.0199541726,121.725299656],[30.9801439091,121.726864775],[31.0105244401,121.729051829],[30.9706260128,121.72926295],[30.9714992573,121.73411876],[30.9741861789,121.73443353],[30.9903596176,121.735414794],[30.9749749188,121.73579334],[30.9698451831,121.735809445],[30.9748696,121.73584386],[30.963986814,121.743084982],[30.97304663,121.743561707],[30.978287154,121.746549218],[30.9735564659,121.747556627],[30.9624352945,121.747932019],[30.9625870392,121.748161018],[30.9788726566,121.748887897],[31.017512,121.749274788],[30.9953347661,121.749816209],[30.9770353313,121.749973782],[30.98184844,121.752432008],[30.9743656475,121.755134194],[30.9910150906,121.757008731],[30.9990389324,121.764769163],[30.9493433768,121.767372228],[30.9850509621,121.77596157],[30.9587748894,121.777919233],[30.9874449542,121.792454123],[31.3038283235,121.259721816],[31.2929977681,121.272321241],[31.2965035018,121.278398037],[31.3013260825,121.278929114],[31.2911912799,121.290628884],[31.3142742382,121.29320848],[31.3152383495,121.294180155],[31.3117442358,121.296531079],[31.2873520436,121.297041215],[31.3228985667,121.298418045],[31.3073557195,121.299077868],[31.2992983466,121.299340725],[31.295704195,121.300960779],[31.3075809968,121.301513314],[31.2995180058,121.302462816],[31.2878331896,121.303655472],[31.2950885557,121.305263998],[31.3123655319,121.30556345],[31.3009701515,121.305708826],[31.3001014396,121.30592707],[31.2992608282,121.306706071],[31.2913805198,121.306731829],[31.3103629169,121.308887535],[31.2876643548,121.309399943],[31.3239637655,121.309999824],[31.307746768,121.311324835],[31.315535903,121.312349439],[31.3123392115,121.312832236],[31.2885850668,121.313497424],[31.2993246317,121.314457655],[31.2874272465,121.314881771],[31.3019961119,121.315814853],[31.2977426739,121.318084002],[31.2868378962,121.318610783],[31.2854796114,121.319494843],[31.2931662798,121.319628954],[31.2917930354,121.320136343],[31.3050876766,121.320522325],[31.3106543767,121.322404004],[31.2952862427,121.328728077],[31.3156324625,121.3333565],[31.3117861747741,121.265040636063],[31.3027417659759,121.270971000195],[31.2977528572082,121.278735995293],[31.3004586452845,121.279560651003],[31.3015240430832,121.290010660887],[31.30915514,121.29862382],[31.3067972660064,121.301408708096],[31.3124902546405,121.301921010018],[31.2931931018829,121.302682757378],[31.3111773133278,121.319548487663],[31.3183696568012,121.320656239987],[31.3016313314438,121.322713494301],[31.305271089077,121.323638856411],[31.1160961839,121.565394402],[31.1179550457,121.565492749],[31.1163510398,121.567061841],[31.1071277841,121.568800807],[31.1162385531,121.569248649],[31.1130180622,121.569825411],[31.1157779515,121.569868326],[31.103616853,121.571227312],[31.1102342606,121.573044062],[31.1189528984,121.573054254],[31.12489817,121.574563991],[31.12035082,121.575267613],[31.1033656466,121.575296223],[31.110747099,121.57651591],[31.1166254948,121.576566696],[31.1199031936,121.576901078],[31.1195438102,121.578049064],[31.1241356947,121.579607427],[31.0915710678,121.579995453],[31.1138711005,121.580165759],[31.1162929341,121.580465734],[31.0988359579,121.580710529],[31.095579808,121.58173886],[31.091719033,121.582242925],[31.1207647058,121.582445425],[31.1280598718,121.583440304],[31.0970745226,121.583665609],[31.11130447,121.583706856],[31.0912015417,121.583893597],[31.1013163073,121.584514081],[31.1078676883,121.585012078],[31.0937780347,121.586655379],[31.0928067948,121.586987972],[31.11665301,121.588147402],[31.10248683,121.588167584],[31.1144261667,121.588501632],[31.0952771901,121.589864732],[31.0914932822,121.590848565],[31.1033780869,121.596805751],[31.0935895442,121.597012282],[31.1177385929,121.598715484],[31.0981263054,121.598854959],[31.0904546511,121.600032449],[31.0956951393,121.600282788],[31.0951276305,121.601030231],[31.1017043846,121.601665914],[31.1004938263,121.601837575],[31.09594725,121.603216126],[31.1066113519,121.610567012],[31.1076728632,121.611286104],[31.1078953743,121.611710787],[31.1078742502,121.612569094],[31.1064759291,121.61290437],[31.093296516,121.614807986],[31.0926282406,121.618716717],[31.1060714722,121.621742249],[31.115442653,121.623142362],[31.1022520065,121.62468195],[31.1019773895,121.625112176],[31.1002318518,121.63818419],[31.098325485,121.63871527],[31.098325485,121.63871527],[31.1148983571,121.645051411],[31.1116500427,121.649033725],[31.100749512,121.649191976],[31.0961964946,121.653615204],[31.1156192151,121.663305759],[31.0920569099796,121.603323519066],[31.0551866119,121.555279463],[31.0316890016,121.565120059],[31.081366087,121.578951446],[31.0267658667,121.579483346],[31.01393636,121.581241235],[31.0446440095,121.582232938],[31.0489377379,121.582391195],[31.079148786,121.58310528],[31.0884858,121.583169578],[31.0553348064,121.583552392],[31.0317581892,121.584136752],[31.0839673877,121.585072428],[31.0292508114,121.586783445],[31.07680569,121.587028792],[31.0501796007,121.587184186],[31.0836416212,121.587426641],[31.0345315933,121.587666962],[31.0881760175,121.58791467],[31.07298618,121.588268108],[31.0694833241,121.588595931],[31.015334982,121.589610918],[31.0812500662,121.589723702],[31.0472864599,121.590328924],[31.0464774207,121.590473982],[31.081531942,121.590542746],[31.05300195,121.59096987],[31.0775848795,121.591853857],[31.0313036098,121.592692316],[31.0304914894,121.593833327],[31.0732170939,121.594171242],[31.0842812061,121.595503919],[31.0839912835,121.595922262],[31.0371606458,121.596944498],[31.0715568066,121.597186164],[31.0286413782,121.59761951],[31.0569597432,121.598713953],[31.0767690702,121.599399403],[31.0713770986,121.600319736],[31.0717713833,121.600562124],[31.0241502253,121.600866627],[31.075176082,121.602226584],[31.0834762996,121.60225494],[31.0814273357,121.605015179],[31.07743317,121.605182998],[31.0769829154,121.606211802],[31.07961749,121.60682878],[31.0126455107,121.606940565],[31.0343250632,121.608134931],[31.0286192439,121.60850043],[31.0708377938,121.614133369],[31.021972471,121.632291165],[31.13135195,121.528041715],[31.1318421364,121.531614162],[31.1326119304,121.535149285],[31.1212140051,121.540049929],[31.1522652072,121.544588983],[31.1214716437,121.544657707],[31.1344009638,121.545355618],[31.1231603136,121.547311127],[31.1166464467,121.55098114],[31.1213976145,121.554101373],[31.1181911557,121.556057512],[31.1489734054,121.558725777],[31.1501857638,121.561126504],[31.1240266672,121.561696884],[31.1271858215,121.562401056],[31.1512291431,121.56262581],[31.125662083,121.564978469],[31.1445848237,121.567706237],[31.136726439,121.568545997],[31.1572889848,121.569283153],[31.1239603431,121.569376663],[31.1362014575,121.569941142],[31.1294737458,121.570082409],[31.1340942166,121.574284147],[31.1370563507,121.575451856],[31.1522752047,121.575846492],[31.1374479532,121.57800849],[31.1377300728,121.580364071],[31.1329028282,121.58407081],[31.1388895187,121.585510521],[31.1304744536,121.588206628],[31.1300209165,121.591672908],[31.126273383,121.592512065],[31.123265895,121.593934198],[31.1288287964,121.594670367],[31.1409294605,121.595070362],[31.1271643639,121.595080534],[31.153935492,121.595198536],[31.1421096325,121.595729222],[31.1249957979,121.596568376],[31.1384242773,121.59951122],[31.1408675258,121.600519186],[31.1380616915,121.600858061],[31.13836941,121.601146186],[31.1395347118,121.60210765],[31.1324214935,121.603910923],[31.1317563057,121.605071802],[31.1398243904,121.606314182],[31.1401945352,121.608102868],[31.139947772,121.612879389],[31.1332578554,121.617545043],[31.1439013481,121.619285345],[31.1436524391,121.621347427],[31.1468839645,121.622128031],[31.1603567004,121.630778052],[31.1251205206,121.631585956],[31.0252565145,121.67752634],[31.0391771793,121.68304656],[31.0412773687,121.686185054],[31.0602344906,121.687816209],[31.0768553655,121.690235136],[31.0401454568,121.691337362],[31.0363286734,121.692241014],[31.052487,121.695398048],[31.0207338017,121.695816852],[31.0207074881,121.695851446],[31.0177398919,121.696431616],[31.0177398919,121.696431616],[31.0244464874,121.699960099],[31.0283517838,121.701650355],[31.0710337758,121.7019695],[31.06330162,121.702133393],[31.0499382019,121.704037256],[31.069442219,121.704114497],[31.0750393858,121.705458726],[31.0720288301,121.708067452],[31.08474681,121.709195987],[31.0022634799,121.70952183],[31.01610349,121.709835437],[31.0017389059,121.710249782],[31.0564255717,121.711027624],[31.0456466675,121.711429977],[31.0719913244,121.712294177],[31.0491399748,121.712540388],[31.0489252792,121.71538353],[31.0732197758,121.717945575],[31.0201817751,121.718375087],[31.0769973703,121.718919462],[31.0769973703,121.718919462],[31.0769973703,121.718919462],[31.07206621,121.7111742],[31.2812921405,121.605970209],[31.17324688,121.730205575],[31.1751090404,121.73020649],[31.1752809991,121.731537394],[31.17587337,121.73265896],[31.1799529195,121.732758206],[31.17163248,121.733347336],[31.170183901,121.733413339],[31.1738669872,121.735872433],[31.10041518,121.73704965],[31.1720350385,121.740357084],[31.1721798778,121.740579717],[31.15124826,121.74069407],[31.174896224,121.741551387],[31.1482465267,121.741658449],[31.1463260651,121.744013053],[31.1817851122,121.744391367],[31.1214619875,121.744396727],[31.1435472965,121.745072342],[31.149802208,121.745209694],[31.1998963759,121.745627046],[31.180350618,121.74629007],[31.1800746918,121.746336103],[31.08887382,121.74649816],[31.1838974735,121.747229288],[31.138020495,121.74735676],[31.1448653489,121.74739478],[31.14431221,121.747524052],[31.141897738,121.74803893],[31.1472755671,121.748095135],[31.159144098,121.748305495],[31.174335532,121.7483185],[31.1731293797,121.749009714],[31.17454735,121.749041606],[31.1283846,121.749092264],[31.1540488763,121.75056337],[31.17876902,121.75123335],[31.1870677472,121.75129509],[31.122870778,121.751369119],[31.1175293325,121.751796996],[31.102095901,121.752289027],[31.11717671,121.752522773],[31.1478441954,121.752717197],[31.123226881,121.752910853],[31.1525117424,121.753481627],[31.117344673,121.75349809],[31.12678349,121.75361465],[31.1437028646,121.75363183],[31.1457520723,121.753701568],[31.1497431993,121.753787398],[31.1520673349,121.754635353],[31.1081395606,121.75498342],[31.1541378769,121.755203613],[31.1365874518,121.755407412],[31.1647370534,121.75563508],[31.1294560435,121.756406306],[31.1180274754,121.756544709],[31.1434083093,121.75751623],[31.1242718696,121.757721009],[31.1025577783,121.757866162],[31.0997618437,121.758333497],[31.0895066755,121.7584508],[31.0896643996,121.75845415],[31.123567,121.758524358],[31.1110920798,121.75871727],[31.087246544,121.75910417],[31.1997265123,121.759679675],[31.152484417,121.760503164],[31.1808063496,121.760815682],[31.1021615858,121.760954261],[31.1158838342,121.761191368],[31.1557084322,121.761613539],[31.1159356614,121.761689933],[31.1192186825,121.761984229],[31.1734775304,121.762078643],[31.1380833928,121.762513076],[31.1109094456,121.763027973],[31.12870956,121.76350542],[31.1080874203,121.764173671],[31.1405747157,121.764433793],[31.1405747157,121.764433793],[31.082864,121.764448168],[31.0911970942,121.767173978],[31.11453047,121.76844556],[31.1522094767,121.76896315],[31.13009205,121.76928506],[31.1165274663,121.769892909],[31.1057188837,121.775600884],[31.107574582,121.776739597],[31.086679101,121.789771677],[31.0748068449,121.790748],[31.0765639543,121.804656029],[31.097033,121.80583232],[31.0953008339,121.807900967],[31.0964021087,121.808866112],[31.0905170815,121.810529105],[31.0980216827,121.832714081],[31.0785144567,121.833029994],[31.2022451467628,121.759381592001],[31.14812465,121.5556644],[30.9205695452,121.785940081],[30.9205695452,121.785940081],[30.8976742836,121.786118315],[30.9423623773,121.789319616],[30.9088620543,121.789375726],[30.8757029048,121.790302992],[30.8699741549,121.790571211],[30.916369878,121.791231036],[30.90810655,121.793044494],[30.9070669761,121.793151265],[30.934946284,121.798052026],[30.9165825248,121.798785961],[30.9135881066,121.800138395],[30.90113283,121.800394297],[30.9133921166,121.801264651],[30.9127780795,121.802834051],[30.9127861261,121.802973256],[30.90380669,121.803730322],[30.9078615904,121.806117066],[30.86836797,121.80818366],[30.9109783173,121.808791205],[30.87567132,121.809674028],[30.8947777748,121.810568961],[30.9104526043,121.811352968],[30.9084033966,121.812028108],[30.9011625052,121.812109148],[30.8998927474,121.812301073],[30.9069174528,121.81281209],[30.89200241,121.812844998],[30.89147989,121.81293815],[30.9012231231,121.812970103],[30.9114933014,121.81563355],[30.8927124739,121.816432412],[30.8767704964,121.817912163],[30.9098255038,121.819331211],[30.9035625457,121.819370974],[30.89933101,121.820966201],[30.9336440562,121.821258125],[30.9047073126,121.822301498],[30.9042449002,121.83279043],[30.89003899,121.83560481],[30.913091898,121.843603268],[30.9082181339,121.855586288],[30.898449182,121.860088264],[31.1912096592,121.512179159],[30.9940946102,121.837251822],[30.969994487,121.842691301],[30.9609413145,121.846303225],[30.9595134259,121.847607524],[30.9593256712,121.847913187],[30.9857368469,121.849139347],[30.9358015718,121.852807083],[30.9419639667,121.855453552],[30.9883339353,121.856815155],[30.9819039702,121.857679848],[30.934096802,121.86117649],[30.9295874834,121.862791784],[30.9870944056,121.863192022],[30.9779155254,121.863956451],[30.977834296,121.865228378],[30.952603519,121.86531878],[30.9850800788,121.868221164],[30.927359166,121.86873014],[30.978088366,121.869046181],[30.978088366,121.869046181],[30.9788864851,121.869314099],[30.974334492,121.87270446],[30.9878545905,121.872820203],[30.9425113016,121.875041486],[30.91189236,121.875739974],[30.9713624273,121.877292517],[30.9786558151,121.877421141],[30.97822486,121.87955018],[30.9578901529,121.900276263],[30.9626946225,121.802713334],[30.9591776588,121.80360462],[30.9815771645,121.805453835],[30.963126375,121.805630207],[30.9585016966,121.806937548],[30.989069667,121.80712182],[30.963088274,121.808149914],[30.9548463935,121.81179939],[30.9727070599,121.812669933],[30.9712743759,121.813970566],[30.9707379341,121.814672985],[30.9456448545,121.827857208],[30.9761200915,121.82856471],[30.9619205674,121.834505438],[31.0648834705,121.820895681],[31.0240387917,121.823159517],[31.05555391,121.82507538],[31.0420587659,121.834912598],[31.0329276323,121.836854867],[31.0410171746,121.837108093],[31.01942144,121.84259868],[31.01894103,121.85030347],[31.0085570812,121.882355868],[30.85965693,121.778613925],[30.8645063639,121.795876622],[30.8633422852,121.806310415],[30.8933025599,121.842905901],[30.8773836493,121.848757714],[30.870183028,121.856454399],[30.885944,121.862029854],[30.8796018362,121.864036918],[30.8807976059,121.874838552],[30.8714714202,121.875711061],[30.9189713001,121.903856993],[30.8728319407,121.907660365],[30.9168027341,121.911840588],[30.8970201015,121.921628861],[30.9353556782,121.93170476],[30.878636241,121.936569214],[31.2605687292,121.267785581],[31.2833195958,121.268556974],[31.2741521001,121.285822392],[31.273448669,121.28986379],[31.2757211924,121.292533278],[31.2731847166,121.293635302],[31.2717949748,121.29693532],[31.2463080883,121.303702816],[31.2571495771,121.303873658],[31.2405627966,121.304115057],[31.2509965897,121.304764152],[31.237807095,121.305361211],[31.2374154925,121.305795729],[31.2380388379,121.306746304],[31.2404649172,121.309241411],[31.2478439211,121.310197771],[31.2728753686,121.310453117],[31.2325108051,121.312000751],[31.2441033125,121.312097311],[31.232083261,121.312440097],[31.2728458643,121.312558651],[31.2486433983,121.313217152],[31.2608993053,121.313797832],[31.2700778246,121.317742985],[31.2462989784,121.318202918],[31.2523605287,121.320049304],[31.2722396851,121.321844459],[31.2561920285,121.322274148],[31.2572864628,121.325444134],[31.235391497612,121.326248646],[31.2555820213,121.327645041],[31.2705713511,121.328576803],[31.2703433633,121.329778433],[31.260022223,121.331350207],[31.2690639496,121.333821058],[31.2590056658,121.337398589],[31.2689834833,121.337727537],[31.2567472457885,121.339139342],[31.266824604,121.343158286],[31.2556494286,121.343952225],[31.2616140852,121.3449204],[31.2639508502,121.349005478],[31.2649863811106,121.256428062916],[31.2852081656456,121.261733472347],[31.2459666433836,121.285371780723],[31.2642386555671,121.292082435131],[31.2777757644653,121.293041557074],[31.2727178948225,121.298723817036],[31.248800396952,121.305402588243],[31.2512809038162,121.308679661745],[31.2726151943206,121.311898448419],[31.2685503536703,121.316294074113],[31.2610682845,121.318285440079],[31.2357173860073,121.319763064385],[31.2563516199588,121.320001780987],[31.2420489412424,121.321879327297],[31.2595398566544,121.321934312582],[31.2650694007078,121.327502578579],[31.2454658746719,121.332798600197],[31.2646570801735,121.335930079222],[31.2597781419754,121.340719163418],[31.2623932957649,121.344930231571],[31.26538798213,121.347679495812],[31.6361135244,121.379442215],[31.619387269,121.389500499],[31.629871053,121.390168883],[31.64011038,121.39360896],[31.6291639209,121.39421314],[31.6199568989,121.395220484],[31.62809124,121.39605957],[31.650211215,121.396165788],[31.6234374618,121.404127149],[31.6415498557,121.410089599],[31.627342701,121.424076855],[31.631486,121.437272895],[31.6189350356,121.459483621],[31.609017925,121.462230041],[31.6334715485572,121.386533975601],[31.6335654258728,121.405781507492],[31.6278900454802,121.41375900662],[31.6235570499304,121.421314636044],[31.6144961427798,121.44263448944],[31.5544732761,121.607590486],[31.5325137194,121.610436903],[31.5292435884,121.613510549],[31.539631784,121.621211171],[31.5317840327,121.621421924],[31.5728804469,121.625950634],[31.5419706702,121.627264917],[31.551861316,121.635098308],[31.559060365,121.645282656],[31.5282900631,121.65347144],[31.5205881,121.668498516],[31.5500709414,121.669166386],[31.5368570387,121.672354192],[31.5575633512,121.675213425],[31.521974802,121.685026288],[31.5410077572,121.692539155],[31.712324554,121.312314617],[31.7248249054,121.320691109],[31.6872981191,121.335448623],[31.6955621023,121.346086786],[31.714363484,121.346188414],[31.719624962,121.34619898],[31.7390892185,121.350664513],[31.6726356858,121.35124094],[31.6811970812,121.36195251],[31.74187266,121.36519648],[31.76432321,121.36550366],[31.6886016726,121.368718743],[31.7185780406,121.382089555],[31.7507591844,121.382371187],[31.7166366739015,121.339788441996],[31.5020084381,121.733206809],[31.5220069885,121.746620536],[31.5244987607,121.756048501],[31.52171462,121.76217916],[31.5462186786,121.764376985],[31.5377291576,121.781430558],[31.5652817488,121.792330742],[31.5885578989033,121.798728494363],[31.6022372246,121.50180459],[31.58729882,121.51098258],[31.6159948246,121.512597176],[31.5804000199,121.517848223],[31.5810799599,121.520166993],[31.6192481152,121.535397505],[31.5706032515,121.535755992],[31.6270744801,121.535820365],[31.6073709726,121.554418802],[31.6298854351,121.560209692],[31.7657420039,121.255505383],[31.7703580856,121.273886561],[31.7791579683,121.275029961],[31.7071361519,121.286222411],[31.7879667878,121.306247413],[31.76542606,121.32638915],[31.7813014984,121.331723034],[31.7445698564321,121.283174897396],[31.6672992321075,121.653966912],[31.5146845579,121.69989109],[31.5278141065,121.713761302],[31.5251344442,121.716770232],[31.530611515,121.735693216],[31.5644475818,121.739110351],[31.55262185,121.74285723],[31.5692782402,121.756753922],[31.5873938799,121.770036221],[31.0500218038,121.149212635],[31.0440432669,121.15124236],[31.0242667794,121.156709414],[31.0241867522,121.15938096],[31.0329389878,121.163005042],[31.0437337862,121.164503039],[31.0220498838,121.166803061],[31.02398565,121.167974609],[31.0058864518,121.168235265],[31.4249405265,121.172793685],[31.4345009888,121.180066148],[31.4065758867,121.183662251],[31.41423802,121.187898],[31.409969317,121.19149207],[31.4560744584,121.193932584],[31.4159095287,121.198666692],[31.3823165222,121.207736886],[31.3789889216,121.208933755],[31.4276200533,121.209754944],[31.402375102,121.210666895],[31.3899725676,121.210905157],[31.4136976853,121.227571958],[31.3673836531,121.228334756],[31.023743666,121.240595327],[31.0267239194,121.2421835],[31.0237877524,121.243657144],[31.0256976989,121.24543862],[31.0225851433,121.245921314],[31.022773867,121.24761553],[31.0278641797,121.247766609],[31.0255568901,121.24861354],[31.0231149383,121.248637471],[31.0314133473,121.250171658],[31.0215109208,121.250220982],[31.0262494123,121.253577432],[31.024441,121.254204612],[31.0230193086,121.256675909],[31.0313864473,121.257257335],[31.0190384388,121.258048098],[31.0227338424,121.258732683],[31.0194402797,121.259955522],[31.028364548,121.260278223],[31.0287451952,121.260281586],[31.0201058954,121.2604551],[31.0267894475,121.260626604],[31.0289483837,121.261164713],[31.0208107499,121.262147591],[31.0302925616,121.262794877],[31.0217202529,121.262947853],[31.033088779,121.265474908],[31.0210537227,121.265666625],[31.0379529919,121.26595052],[31.020635741,121.266033318],[31.0363510323,121.266882146],[31.0206724942,121.267371049],[31.0349825335,121.267740943],[31.034651,121.268933095],[31.025645489,121.269104267],[31.0348048824,121.269491163],[31.0377479373,121.270868913],[31.0108335464,121.271493886],[31.0314260198,121.271661459],[31.0334659927,121.273505266],[31.0261022892,121.273523058],[31.034044071,121.274039024],[31.0297852484,121.274517539],[31.0414354667,121.275578522],[31.0413548164,121.27593993],[31.0281322429,121.275968103],[31.0196638514,121.276300347],[31.021081775,121.27684431],[31.0420909045,121.276959174],[31.0302248344,121.278386963],[31.0342982411,121.278897057],[31.0354519894,121.28017945],[31.0262194913,121.280720541],[31.0260243851,121.290144451],[31.0269601947,121.292979077],[31.0447564864,121.31173567],[31.0428200926,121.314836482],[31.0296615865,121.32282192],[31.0346859878,121.324095778],[31.0510010498,121.325026505],[31.30731225,121.34344295],[31.4587470889,121.343873441],[31.319050914,121.3556866],[31.18843638,121.481888791],[31.1852288246,121.488398557],[31.1841452122,121.492438316],[31.1845067739,121.49248283],[31.23999361,121.50250552],[30.8329850435,121.518428922],[30.8275261526,121.522297936],[30.8319175243,121.523015499],[31.3664201082,121.566931273],[31.359176,121.579315202],[31.1877835348,121.581410219],[31.3378400719,121.597354296],[31.3265383244,121.599200964],[31.2537539005,121.599892456],[31.3341021538,121.602215253],[31.3203294834,121.60356925],[31.24775565,121.60670523],[31.25545281,121.6179686],[31.2589466572,121.618185116],[30.946726799,121.620283127],[31.2460961938,121.621259451],[31.2824763095,121.623253056],[31.21391279,121.623803945],[31.25949184,121.62634796],[31.3025969267,121.627288571],[31.2750130892,121.628817515],[30.9429631664,121.631015105],[31.2652015686,121.631194353],[31.2865219121,121.631806641],[30.95752131,121.63728065],[30.9444693661736,121.638005019],[30.9442719737,121.639306961],[30.979248,121.64831251],[30.93591686,121.64964117],[30.96091962,121.65355962],[30.94753234,121.67316576],[31.2069761753,121.680176386],[31.136088,121.774209555],[31.3715759750098,121.247676237901],[30.8406234099,121.505693793297],[30.8323614061,121.507791280747],[30.8210752476,121.516159772873],[30.8367670505,121.517447769675],[30.8285456724,121.531807780266],[30.9768367199,121.637996435166],[30.9491716386,121.649696230889],[30.9859287023,121.659936904907],[30.9643966568,121.660049557686],[30.9832669668,121.666213274002],[30.9795271748,121.668836474419],[31.3082671165,121.141659021],[31.2886934281,121.141663313],[31.3034310937,121.147452593],[31.2973049283,121.15031451],[31.2913396955,121.155174673],[31.2821123598,121.155294299],[31.2896616425,121.156090117],[31.324231365,121.15721538],[31.3018127313,121.159289859],[31.3247492909,121.163688004],[31.2704967857,121.16689539],[31.3261960292,121.1702744],[31.2844598293,121.174424887],[31.314182556,121.18284168],[31.3256576318,121.186828427],[31.2782987952,121.190080941],[31.2652465066,121.193653441],[31.2885212303,121.198860884],[31.2761235237,121.199152172],[31.2779356239,121.207692861],[31.313097775,121.208161712],[31.2664809823,121.2123245],[31.273472835,121.21381873],[31.3189187634,121.215460796],[31.2897908222,121.216980179],[31.2782185039,121.218733252],[31.26733113,121.2194729],[31.2888157368,121.220548153],[31.2717676163,121.220644712],[31.2837356329,121.228028834],[31.3140233023,121.229832832],[31.28898849,121.230393771],[31.30237629,121.23090633],[31.2786367536,121.241474748],[31.2723523378,121.245471239],[31.3095331192,121.250044405],[31.2677195445982,121.171252727945],[31.2901645799267,121.186071932098],[31.2805495490962,121.204755306244],[31.3176992373352,121.211429983378],[31.281726938426,121.226009130478],[31.2840892371887,121.228002905791],[31.36594939,121.11159231],[31.3469637274,121.143982906],[31.3632596359,121.144172247],[31.3932474501,121.149386789],[31.3396171869,121.149414757],[31.366546154,121.150006056],[31.3721471192,121.15213356],[31.3538324833,121.152521968],[31.3672756939,121.156128598],[31.3880869746,121.157339215],[31.3457965851,121.15798831],[31.3718099749,121.159832079],[31.3621207855,121.162409942],[31.36700484,121.16600101],[31.356143672,121.168275594],[31.3628607988,121.172638535],[31.3668814302,121.17288332],[31.3731712103,121.185218096],[31.348296403885,121.188340187],[31.38012834,121.14541505],[31.3639229536057,121.152484416961],[31.3574588298797,121.170463263989],[31.3496509194374,121.170879006386],[31.3468718749049,121.18340063118]],null,null,{"minOpacity":0.05,"max":1,"radius":5,"blur":15}]}],"limits":{"lat":[30.8210752476,31.7879667878],"lng":[121.11159231,121.936569214]}},"evals":[],"jsHooks":[]}</script>
<script type="application/htmlwidget-sizing" data-for="htmlwidget-53b988b104448f990280">{"viewer":{"width":"100%","height":400,"padding":0,"fill":true},"browser":{"width":"100%","height":400,"padding":0,"fill":true}}</script>
</body>
</html>
